C#-Formular anzeigen, dass schon geladen ist

Ich glaube es liegt daran, dass dein Menue als private deklariert wurde. Setze das Property "Modifiers" des Menues auf "public".
Dann sollte es ueber "fMain.mainMenuNoConnect;" abrufbar sein.
 
Problembeschreibung !

Zugriff zwischen unterschiedlichen Formularen !

Gegeben: Zwei Formulare:
- frmMain
- frmForm1

Form "frmMain" enthält:
- eine Textbox (txtMain) => Modifiers = Public
- ein Button (LoadForm1) => Modifiers = Private

Form "frmForm1" enthält:
- eine Textbox (txtForm1) => Modifiers = Public
- ein Button (CopyText) => Modifiers = Private


Code in Form "frmMain"

private void LoadForm1_Click(object sender, System.EventArgs e)
{
Form1 f1 = new Form1();
f1.Show();
// Hier kann ich auf das Textfeld im Formular "frmForm1" zugreifen
}

Code in Form "frmForm1"


private void CopyText_Click(object sender, System.EventArgs e)
{
frmMain.txtMain.Text = this.txtForm1.Text; // *
}


Problem : * In dieser Zeile kann ich nicht auf das Textfeld im Formular "frmMain" zugreifen
Frage : Wie kann ich an dieser Stelle den Inhalt des Textfeldes "txtMain" im Formular
"frmMain" verändern ?


mfg Luky
 
Hi,

zuerst brauchst du in deinen Forms jeweils ein Objekt der anderen Form:
Code:
//class Form1
private Form2 f2;

//class Form2
private Form1 f1;
In der Klasse Form2 musst du dann noch den Konstruktor aendern:
Code:
// konstruktor
public Form2(Form1 temp)
{
	InitializeComponent();

	this.f1 = temp; // der Form2 eine referenz auf Form1 uebergeben
}
In den Konstruktor (oder Form_Load-Event) der Klasse Form1 kommen dann noch diese zwei Zeilen:
Code:
// Form2 instanzieren und dabei eine referenz auf Form1 uebergeben
this.f2 = new Form2(this);
this.f2.Show();
Und nun kannst du jeweils auf die anderen Forms zugreifen. Nicht vergessen die entsprechenden Controls die angesprochen werden sollen, auf public zu setzen.

Das ist sicherlich nicht die optimale und beste Vorgehensweise bei deinem Problem, aber es schafft dir, denk ich mal, einen Ueberblick wie es funktionieren koennte. Du muesstest natuerlich noch Abfragen wie z.B. ist die Form2 ueberhaupt geoeffnet, einbauen.
 

Neue Beiträge

Zurück