Laden...

UserControl in Panel laden ?

Erstellt von Borussia_68 vor 14 Jahren Letzter Beitrag vor 14 Jahren 2.068 Views
Borussia_68 Themenstarter:in
14 Beiträge seit 2009
vor 14 Jahren
UserControl in Panel laden ?

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

2.223 Beiträge seit 2005
vor 14 Jahren

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

Borussia_68 Themenstarter:in
14 Beiträge seit 2009
vor 14 Jahren

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

5.299 Beiträge seit 2008
vor 14 Jahren

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.