Laden...

dynamisch erstellten Usercontrol Event zuweisen

Erstellt von sharp.new vor 17 Jahren Letzter Beitrag vor 17 Jahren 3.340 Views
S
sharp.new Themenstarter:in
100 Beiträge seit 2006
vor 17 Jahren
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:


                    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();



X
2.051 Beiträge seit 2004
vor 17 Jahren
S
sharp.new Themenstarter:in
100 Beiträge seit 2006
vor 17 Jahren

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

X
2.051 Beiträge seit 2004
vor 17 Jahren

ich verstehe jetzt nicht, wo dein problem ist?

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

uc1cast.DeinEvent += new ....
S
sharp.new Themenstarter:in
100 Beiträge seit 2006
vor 17 Jahren

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

X
2.051 Beiträge seit 2004
vor 17 Jahren

dann caste es zu dem control, was du brauchst..