zwei Forms - Button -> richTextBox String eintragen

peter235

Grünschnabel
Hallo!

Ich hab jetzt schon einige Foren durchgesucht und bin bei Euch teilweise fündig geworden. Jedoch leider nur teilweise und mittlerweile hänge ich schon einige Stunden bei einer für Euch wahrscheinlich simplen Aufgabe.
Es geht um folgendes:

Ich habe es geschafft in EINER Form eine richTextBox und einen Button zu haben und wenn man den Button klickt, trägt er einen String in die richtTextBox ein. Bei nochmaligem klicken - ist auch so gewollt von mir - macht er ein newLine und trägt darunter wieder einen String ein. Soll so etwas wie eine "Commands used" Anzeige sein.

Jetzt würde ich das gerne so lösen, dass ein Form die Commands used Anzeige enthält und die andere Form die eigentliche Bedienung darstellt.

die 2 Forms sehen ca. so aus:
Command.cs
Code:
...
        public void richTextBox1_TextChanged(object sender, EventArgs e)
        {
            
        }
...
Rest denke ich ist nicht wichtig.

im Interface.cs siehts ca. so aus:
Code:
...
 Command form2 = new Command();
        public Interface()
        {
            InitializeComponent();
          
        }

        public void button1_Click(object sender, EventArgs e)
        {
            
            form2.Show();
            form2.richTextBox1_TextChanged ; // hier ist mein Problem. Kann ich eventuell die Übergabe Parameter nutzen? Bzw. wie ändere ich das richTextBox Feld?
        }
...

Vielen Dank für Infos im Voraus.
Sollte ich irgendwelche wichtigen Infos vergessen haben - sorry im vorhinein.

MfG,
Pete
 
Hi.

Warum willst du jetzt das TextChanged-Event benutzen? Hast du bei deiner jetzigen Lösung doch sicher auch nicht.

Was du brauchst ist eine öffentliche Methode in deinem 2. Form, welche den Text in die TextBox hinzufügt.

So zum Beispiel:
C#:
public class Command : Form
{
   //-- *snip*
  public void AddLine(string message)
  {
    richTextBox1.Text += message + Environment.NewLine;
  }
  //-- *snipp*
}

In deiner anderen Form kannst du diese dann ganz einfach aufrufen.

C#:
form2.AddLine("Bla bla.. :)");

lg,..
 
Hallo!

Vielen Dank für die rasche Antwort. Mein Problem war, dass ich bisher zwar viele andere Programmiersprachen und stinknormale Editoren genutzt habe, jedoch joch nix mit C# und Visual Studio. Und bei Doppelklick nach erstellen einer TextBox hat er mir einfach "richBoxText1_TextChanged" angeboten.
Hatte bisher noch nicht viel Zeit für c#-Tutorials zwecks der Syntax.

Aber in diesem Fall hab ich auch ein wenig zu umständlich gedacht. Deine Idee mit der Methode im Command.cs ist simple und funktioniert einwandfrei.

Mir hats geholfen - nochmals danke!

lg,
pete
 
Zurück