Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
UserControl in Panel laden ?
Borussia_68
myCSharp.de - Member

Avatar #avatar-2945.jpg


Dabei seit:
Beiträge: 14
Herkunft: Wipperfürth

Themenstarter:

UserControl in Panel laden ?

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Lars Schmitt
myCSharp.de - Experte

Avatar #avatar-2240.jpg


Dabei seit:
Beiträge: 2335
Herkunft: Witten

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Borussia_68
myCSharp.de - Member

Avatar #avatar-2945.jpg


Dabei seit:
Beiträge: 14
Herkunft: Wipperfürth

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
ErfinderDesRades
myCSharp.de - Experte

Avatar #avatar-3151.jpg


Dabei seit:
Beiträge: 5409

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers