C variable aus form1 form 2 übergeben

Ich bin gerade an einem neuen Projekt, eine Art Mitarbeiter Verwaltung mit einer Datenbank. Wie schon die Überschrift der Frage sagt, möchte ich eine Variable in Form 2 aus Form 1 ansprechen. Das habe ich schon versucht: FormMain frm = new FormMain(); frm.VariableXY. sprich ich habe ein Klassenobjekt erzeugt und versucht daraus eine Variable durch die Punkt Methode aufzurufen. Hat aber leider nicht geklappt. Habt ihr vielleicht eine Lösung

11 Antworten zur Frage

Bewertung: 3 von 10 mit 1451 Stimmen

Videos zum Thema
YouTube Videos

C# Variable aus Form1, an Form 2 übergeben.

hat sich schon erledigt, habs hinbekommen
VariableXY ist wahrscheinlich ein privates Element der class FormMain. Um darauf von außerhalb dieser Form zuzugreifen muss man es als public deklarieren
class FormMain{
//.
public:
varxytype VariableXY;
//.
};
oder die Funktion in der du das ganze machen willst als friend von FormMain angeben:
class FormMain{
//.
varxytype VariableXY;
//.
public:
friend void Form2::AccessFunction{argtype arg};
//.
};
Die geschweiften Klammern in dem Funktionsprototyp sind natürlich Unsinn.
friend void Form2::AccessFunction;
In VB.NET:
Form2.Variable.Text = Form2.Variable.Text
Gibt ja genug Konverter
ahrg ich depp. Sorry ignorier das hier bitte.
Visual C# - Variable an eine andere Form übergeben | tutorials.de - User helfen Usern
Das könnte dir helfen
Wenn du schon ein Klassenobjekt erstellst - hast du es auch auf public gestellt?
Auch hier ist die Frage was du machen möchtest?
Gut, C# habe ich jetzt nicht installiert aber VB.NET geht ja auch so.
Vom Prinzip her ist es identisch.
Wenn du nun eine Variabel in einer Textbox auf Form2 hast aber diese bei der Textbox in Form1 haben möchtest dann kannst du dies so machen:
Form1.Textbox1.text = Form2.Textbox1.text
Eben nur ein Beispiel!
Mit anderen Dingen geht dies auch so.
Vielleicht schreibst du einmal was du wohin haben möchtest!
Geht es um einen Eintrag, textbox, Label, Liste usw.?
Bei C# wird es halt so sein laut MSDN:
private void Button1_Click
Form2 frm1= new Form2();
frm1.Label1.Text = this.Eingabefeld.Text;
Ja gut, wenn es PUBLIC ist damn sollte es eh gehen.
Wenn es auf PRivate steht wird es so nicht funzen.
Jetzt muss ich doch einmal nachfragen:
Willst du nun einen Wert von Form2 übernehmen oder hast du einfach ein Klassenmodul erzeugt und willst auf die darin enthaltene Funktion/Rückgabewert zugreifen?
Im Grunde geht alles denn wenn es "PUBLIC" ist kannst du von jeder Form aus auf Module und Klassen zugreifen.
Vielleicht schaust auch du dir einmal die MSDN an.
Hier ein paar Beispiele:
Klassen