Hallo !
Ich habe da mal wieder ein kleines Problem.
Ich lade in einen Splicontainer.Panel1 ein UserControl, in diesem UserControl gebe ich ein SQL-Komando ein.
Wenn ich nun auf einen Button ("Laden") drücke, soll in dem SplitContainer.Panel2 ein neues UserControl geöffnet werden.
Folgendes habe ich bereits probiert, leider erfolglos :
Im UserControl in der Methode Button_Click
frm_startdialog start = new frm_startdialog();
uco_Datenpflege_Show uco_öffnen = new uco_Datenpflege_Show();
start.Panel_Show(uco_öffnen);
uco_Datenpflege_Show ist das UserControl welches im Splitcontainer.Panel2 angezeigt werden soll.
frm_startdialog enthält den Splitcontainer.
Die Methode Panel_Show :
public void Panel_Show(Control uco_öffnen)
{
spc_slave.Panel2.Controls.Add(uco_öffnen);
uco_öffnen.Dock = DockStyle.Fill;
}
Was mache ich falsch ? Denke ich wieder zu einfach ?
Gruß
Frank
Hallo Borussia_68,
es scheint so als ob dein Problem zum einen daran liegt, dass du vom frm_startdialog eine neue Instance erzeugst, du müßtest aber deine haupt instanz für diese sache benutzen.
Hint: zusätzlich solltest du as erste Control auch wieder aus dem Panel entfernen
Herzliche Grüße
Lars
OK muss ich mir mal Gedanken machen wie ich auf die Methode Panel_Show zugreifen kann,
ohne eine neue Instanz zu erzeugen.
Das erste Control lade ich ja in Panel1 des Splitcontainers, das muss ich doch nicht entfernen,
wenn ich ein anderes Control in Panel2 lade, oder ?
Gruß
Frank
Dassis prinzipiell wie [FAQ] Kommunikation von 2 Forms .
Weil Usercontrols sind annähernd gleich autark wie Forms.
Die Lsg heißt also:
Das UserControl muß ein Event feuern, was im Mainform verarbeitet wird, wo dann das annere Ucl aufs Panel2 gemacht wird.
Der frühe Apfel fängt den Wurm.