Laden...

Event an usercontrol

Erstellt von clemer vor 17 Jahren Letzter Beitrag vor 17 Jahren 4.818 Views
C
clemer Themenstarter:in
56 Beiträge seit 2006
vor 17 Jahren
Event an usercontrol

Olla Zusammen

Ich habe ein Panel,
In dieses Lade ich dynamisch mehrere Usercontrol

Das Usercontrol besteht aus 2 Labels die das ganze Control abdecken.

In das Panel lade ich bsp: 4 user Controls


UserControl1 uc1 = new UserControl1();
uc1.Click += new EventHandler(event_blubb);
this.panel1.Controls.Add(uc1);
uc1.Dock = DockStyle.Top;

Wenn man das Usercontrol drückt möchte ich ein event auslösen


        private void event_blubb(object sender, EventArgs e)
        {
            MessageBox.Show("Huhu","Erfolgreich");
        }

Da mein UserControl abgedeckt ist mit den Labels bekommt erreicht es nie den Event.
Ich will keine Events auf den Labels haben da die ganze Formgeschichte von einer
Pocket pc Applikation kommt, da kann man keine Label.click events erstellen.

Gib es die Möglichkeit wie ich trotzdem solche einen Klick zu erstellen kann?
Hat jemand einen Tip?

49.485 Beiträge seit 2005
vor 17 Jahren

Hallo clemer,

du musst im UserControl auf die Clicks auf die Labels reagieren und dann einen Eigenen Event ([FAQ] Eigenen Event definieren) oder UserControl1.OnClick auslösen.

herbivore

215 Beiträge seit 2004
vor 17 Jahren

Hi!

Ich würde innerhalb des UserControl Click-Handler für die Label-Clicks erstellen,
die dann wiederum das Click-Event des UserControls auslösen.

Wenn Du die Click-Events im Konstruktor nach InitializeConmponents();
hinzufügst, dann müsste das auch im ComapactFramework gehen.

greetz
DaSchroeter

215 Beiträge seit 2004
vor 17 Jahren

@herbivore: Warst schon wieder schneller 🙂

C
clemer Themenstarter:in
56 Beiträge seit 2006
vor 17 Jahren

Also soviel ich weis geht das auf dem Compakt Framework nicht.

Für labels auf dem Compaktf gibts nur
EnabledChanged / Parentchanged / Textchanged

Wie ich jetzt das onClick erreignis Anwenden soll weis ich nicht.

Der ganze Code den ich gepostet habe funktioniert auf dem Compakf aber nicht auf einer Win Form die auf dem PC laufen sollte.

Dies Wahrscheindlich weil es keine click Ereignisse auf den Labels gibt.