myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   C# Form1 an Form2 ? HILFE.... (https://mygully.com/showthread.php?t=2603730)

taxomio 08.04.12 13:37

C# Form1 an Form2 ? HILFE....
 
Hallo,

ich habe in Form1 3 textBoxen

textBox1
textBox2
textBox2

Die gleichen textboxen habe ich auch in Form2 jetzt will ich wenn ich in Form1 auf ein Button klicke, Form2 aufgeht und der Inhalt von Form1 in den textboxen steht...

mit einer textBox bekomme ich es hin, aber weiter komme ich leider nicht :(
Über eine kleine Anregung wäre ich sehr dankbar.


MFG

und frohe Ostern :)

Pain12345 08.04.12 14:16

Soetwas funktioniert zb über den Konstruktor, dieser wird beim erstellen eines Objektes aufgerufen zb (Frei Hand - sinngemäß):

Zitat:

public class Form1 : Forms{
public Form1(string tb1, string tb2, string tb3{
tb1.Text = tb1;
tb2.Text = tb2;
tb3.Text = tb3;
}
}

class x
{
void irgendeineFunktion(){
Form1 myForm = new Form1(tb1.Text, tb2.Text, tb3.Text);
}
}

ProgMaster 09.04.12 08:16

Wenn du WPF benutzt dann mach es über ein Binding und einen Converter.
Scheint dir aber schon zu schwer gewesen zu sein, zu posten welches GUI du verwendest...

taxomio 09.04.12 10:33

erstmal danke für die antworten, komme leider trotzdem nicht weiter newbie :rolleyes:


ja denke mal auch WPF wäre für den anfang zu schwer da reicht mir erstmal das "Windows Forms" aber eine Binding Source an Form 2 übergeben wäre mir auch lieber aber mir würde erstmal zum verstehen das mit den Textboxen übergeben reichen, leider übergibt er mir bei dem beispiel von Pain12345 immer nur die letzt textBox ;(

hier mal mein code:

Zitat:


//FORM1---------------------------------------

namespace Form_die_zweite
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)
{
Form2 tf = new Form2(textBox1.Text, textBox2.Text, textBox3.Text);
tf.Show();

}
}
}

// FORM2 ---------------------------------------------------------

namespace Form_die_zweite
{
public partial class Form2 : Form
{

public Form2(string tb1, string tb2,string tb3)
{

InitializeComponent();
textBox1.Text = tb1;
textBox1.Text = tb2;
textBox1.Text = tb3;
}


}
}

jon.west 09.04.12 11:15

Logisch, denn du weist deiner TextBox1 nach der Reihe 3 verschiedene Werte zu ;)

taxomio 09.04.12 11:19

kleiner Nachtrag,

ich habe jetzt ein neues projekt angelegt und siehe da es geht, war wohl irgendwie der wurm drin ;)

besten dank erstmal....

was mich vielleicht noch interessieren würde, wie würde das ganze aussehen wenn ich stat

{
void irgendeineFunktion(){
Form1 myForm = new Form1(tb1.Text, tb2.Text, tb3.Text);
}
}


einfach ein

{
void irgendeineFunktion(){
Form1 myForm = new Form1(this);
}
}

nehme?

jon.west 09.04.12 11:29

Probiere es aus :)

ProgMaster 09.04.12 11:30

WTF... kann es sein, dass du gar keine Grundkenntnisse der Programmierung hast?

Wozu nicht einfach in Ruhe ein Buch vornehmen anstatt zu jeder trivialen Frage einen Thread zu erstellen?

3n1x_NX 23.04.12 17:41

Der Antwort
 
@ProgMaster: Kann sein, dass er keine "Grundkenntnisse" in Programmierung oder OO hat, ist ja aber auch irrelevant. Wozu Leuten helfen wenn man auch mekern kann ;D, und meker nicht gleich auf meinen Post wieder .....-.-

Das hier ist ein Forum, bei denen man Leuten hilft und einem auch selbst geholfen wird, oder habe ich da etwas falsch verstanden?!
Aller Anfang ist schwer, da kann man froh sein, wenn man Leute findet die mehr Wissen als man selbst, also mal nicht wieder alle gleich für blöd erklären sondern doch einfach mal helfen.

Und zudem ist es sehr schön wenn mal ein produktiver Thread geöffnet wird, anstatt "Wie erstelle ich ein eigenes Facebook hack?", von Leuten die man noch nicht einmal als S*****Kiddie bezeichnen kann, da sie anscheinend die Hilfe der Mutter bei der Anmeldung hier brauchten.

Oke, nun noch mal zu dem Post bei dem um Hilfe gebeten wurde ;),
Code:

{
void irgendeineFunktion(){
Form1 myForm = new Form1(tb1.Text, tb2.Text, tb3.Text);
}
}



{
void irgendeineFunktion(){
Form1 myForm = new Form1(this);
}
}


Bei beiden Beispielen erzeugst du eine neue WinForm, bei beiden hast du auch Übergabewerte die du im Konstruktor auffangen musst.

Zum ersten: Du musst im Konstruktor 3 Textboxen auffangen, die du dann Zwischenspeicherst, und später dann den Textboxen der neuen Form zuweist.
Da war wie bereits schon erwähnt wurde dein ursprünglicher Fehler:

public Form2(string tb1, string tb2,string tb3)

Code:

public Form2(string tb1, string tb2,string tb3)
{

InitializeComponent();
textBox1.Text = tb1;
textBox1.Text = tb2;
textBox1.Text = tb3;
}

Du hast TextBox1 3 Werte nacheinander zugewiesen, den anderen TextBoxen hast du keine gegeben, klar dass diese sich vernachlässigt fühlen und deswegen die arbeit verweigern;). So fühlen sich alle gleich berechtigt und es geht:

Code:

public Form2(string tb1, string tb2,string tb3)
{

InitializeComponent();
textBox1.Text = tb1;
textBox2.Text = tb2;
textBox3.Text = tb3;
}

Zum zweiten: Du musst im Konstruktor der zweiten WinForm auch eine WinForm auffangen, keine 3 Textboxen und dann davon ausgehend die Textboxen befüllen:

Code:

public Form2(WinForm ersteForm)
{

InitializeComponent();
textBox1.Text = ersteForm.tb1.Text;
textBox2.Text = ersteForm.tb2.Text;
textBox3.Text = ersteForm.tb3.Text;
}

jon.west hatte aber recht damit, dass mans wenigsten vorher probieren kann :D

Viel Glück noch ;D

3n1x_NX 23.04.12 18:48

joohoo
 
@HababaX: Stimmt schon du, da hast du natürlich recht, und sry @ProgMaster
;)

Aber ihr beide müsst echt nicht alle runter machen für das was sie nicht wissen, bzw. nicht können.

Gut mich hat der letzte Thread noch angepisst, deswegen...:dozey:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:19 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.