Die letzten 10 Beiträge |
InformaTiger |
Ich glaube solangsam verstehe ich...
PS: Ich versuchs mal und dann melde ich mich. Danke Danke Danke.
Edit: Freude
Freude
Freude
! Hurra, es geht. Danke, eulersche Zahl.
Lg
InformaTiger |
eulerscheZahl |
Ok:
Ich habe ein Projekt angelegt (Windows-Forms Anwendung).
Im bereits geöffneten Form1 habe ich Button und TextBox eingefügt, dem Button ein Click-Event geschrieben.
Dann habe ich ein 2. Form erstellt, ebenfalls mit Button und TextBox.
Bei Button 2 DialogResult auf OK stellen.
Der Buttonklick in Form1 bewirkt, dass Form2 geöffnet wird mit dialogResult = form2.ShowDialog();
dialogResult wartet dann auf eine Antwort von Form2 (=buttonForm2OK_Click)
Nun wird über public string text auf den Inhalt von textboxForm2 zugegriffen und das Ergebnis in die Textbox von Form1 eingefügt.
eulerscheZahl hat dieses Bild (verkleinerte Version) angehängt:
|
InformaTiger |
Kannst du mir noch mal ganz kurz Schritt für Schritt erklären was du gemacht hast?
Ich steh grad völlig auf der Leitung...
Edit: du hast ja gesagt, dass eben wenn ich ein neues Objekt erstelle das nichts von meiner Form weiß... Wie weiß dann in diesem Fall die eine Form von der anderen...
Lg
InformaTiger |
eulerscheZahl |
Deshalb musst du dem DialogResult ja mitteilen, was das OK ist.
Klicke dazu in Form2 auf den Button, suche bei den Eigenschaften den Wert "DialogResult" und setze ihn auf OK. |
InformaTiger |
Hab ich noch nicht ganz gepeilt...
Was du da machst ist mir nicht ganz klar, wieso weiß das DialogResult wann der OK Button geklickt wird... Ist das nicht nur bei vordefinierten OK Buttons in bspw. MessageBoxen so?
Lg
InformaTiger |
eulerscheZahl |
Mal zum Übergeben von Daten zwischen verschiedenen Forms:
Wir haben Form1 mit einer TextBox und einem Button:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
|
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DialogResult dialogResult;
Form2 form2 = new Form2();
dialogResult = form2.ShowDialog();
if (dialogResult == DialogResult.OK)
{
textBoxForm1.Text = form2.text;
}
}
} |
|
und Form2 mit ebenfalls TextBox und Button:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
|
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private string textboxForm2Text;
public string text
{
get { return this.textboxForm2Text; }
}
private void buttonForm2OK_Click(object sender, EventArgs e)
{ //DialogResult für diesen Button auf OK setzen bei den Properties
this.textboxForm2Text = this.textBoxForm2.Text;
}
} |
|
Wenn du nun in Form1 auf den Button klickst, öffnet sich Form2.
Dort kannst du einen Text in die TextBox tippen. Beim Klicken auf den Button von Form2 verschwindet das Fenster und der Text wird in die TextBox von Form1 übernommen.
Hilft dir das weiter? |
Airblader |
Bei der neuen Frage lasse ich Karlito oder co mal lieber den Vortritt.
Zitat: |
Original von InformaTiger
PS: Schade, dass du die Signatur geändert hast. |
Die neue ist doch auch super!
|
InformaTiger |
Ich denke du hast recht, es ist zwar schwer aber wenn ich mal ordentlich drin bin ist es einfach besser.
Weißt du zufällig auch wie ich mit den Objekten/Properties umgehen muss?
PS: Schade, dass du die Signatur geändert hast.
Lg
InformaTiger |
Airblader |
Ein guter Programmierstil soll in erster Linie auch verständlich sein – das ist aber sehr grundlegende Logik, bei der ich fast sagen würde: Nutze es als Chance, es dir anzugewöhnen. Kann schon sein, dass man sich da anfangs etwas reindenken muss, aber das wird schneller als du denkst zum A und O.
|
InformaTiger |
Danke
I weiß, mein Programmierstil ist alles andere als super, aber ich muss zum Teil eingestehen dass ich mich mit diesem kurzen Code also "komprimierter" Version nicht viel anfangen kann da ich Sie oft nicht verstehe...
Sry.
Lg
InformaTiger |
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen. |