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();
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
ich verstehe jetzt nicht, wo dein problem ist?
du hasst doch dein uc1cast - Objekt erzeugt. nun weise im deine Event zu.
uc1cast.DeinEvent += new ....
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
dann caste es zu dem control, was du brauchst..