myCSharp.de - DIE C# und .NET Community (https://www.mycsharp.de/wbb2/index.php)
- Entwicklung (https://www.mycsharp.de/wbb2/board.php?boardid=3)
-- GUI: Windows-Forms (https://www.mycsharp.de/wbb2/board.php?boardid=24)
--- dynamisch erstellten Usercontrol Event zuweisen (https://www.mycsharp.de/wbb2/thread.php?threadid=23058)


Geschrieben von sharp.new am 03.08.2006 um 13:12:
  dynamisch erstellten Usercontrol Event zuweisen
Hallo zusammen,
ich brauche dringends eure Hilfe. Es geht um folgendes:
Ich lade in ein Usercontrol dynamisch(Trägerusercontrol,oberste Ebene), über den Namen jeweils einen weiteren Usercontrol rein der wiederum eine Usercontrol(TreeView-Anzeigeklasse) beinhaltet. Nun soll bei Auswahl eines Nodes aus der TreeViewklasse ein Event ausgelöst werden.

Mit der standard Event-Methodik komm ich leider nicht weit, weil die dynamischen Usercontrols innerhalb der obersten Ebene nicht bekannt sind.

Kann man beim erzeugen des Usercontrolobjektes diesem einen Event zuweisen oder wie könnte man so etwas lösen???

Der Codeblock an der die Usercontrols dynamisch erzeugt werden:

C#-Code:
                    string uckl = CaptionCopy[i, j + 2];

                    Object uc1 = Activator.CreateInstance(Type.GetType(uckl));
                    UserControl uc1cast = (UserControl)uc1;

                    uc1cast.Name = uckl;
                    stackStripSplitter.Panel1.Controls.Clear();
                    stackStripSplitter.Panel1.Controls.Add(headerStrip2);
                    stackStripSplitter.Panel1.Controls.Add(headerStrip1);
                    stackStripSplitter.Panel1.Controls.Add(uc1cast);
                    uc1cast.Dock = System.Windows.Forms.DockStyle.Fill;
                    uc1cast.BringToFront();


Geschrieben von Xqgene am 03.08.2006 um 13:24:
 
 Event Tutorial


Geschrieben von sharp.new am 03.08.2006 um 15:08:
 
Hallo,
ein guter Link über Events für den Wechsel bzw.Aufruf unterschiedlicher Events. Löst leider mein Problem nicht insofern, da ich bei der Erzeugung des Usercontrolobjectes nicht weiss welches erzeugt worden ist(siehe oben). Es muss doch möglich sein zur Laufzeit einer dynamisch aufgerufenen Klassse ein Event mitzugeben....

Grüsse


Geschrieben von Xqgene am 03.08.2006 um 15:13:
 
ich verstehe jetzt nicht, wo dein problem ist?

du hasst doch dein uc1cast - Objekt erzeugt. nun weise im deine Event zu.

C#-Code:
uc1cast.DeinEvent += new ....


Geschrieben von sharp.new am 03.08.2006 um 17:02:
 
das problem ist, dass das Object mein Event nicht kennt. Das Object caste ich zuvor als Usercontrol. Ich habe im Object lediglich die Methoden,Ereignisse usw. von einem Usercontrol....

Grüsse


Geschrieben von Xqgene am 03.08.2006 um 19:56:
 
dann caste es zu dem control, was du brauchst..


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 07.06.2020 04:44