Forum: PC-Programmierung C#: UserControl Event in Hauptapplikation durchreichen


von Entwickler (Gast)


Lesenswert?

Guten Morgen,

in einem UserControl gibt es einige Events die bis zur Hauptapplikation 
durchgereicht werden sollen. Nun soll in der Hauptapplikation bei 
gewissen Aktionen auf diese Events reagiert werden. Wie wird sowas in C# 
realisiert?

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Z.B. wenn Dein UserControl 'myUserControl' heißt und vom Typ 
'MyUserControl' ist:
1
void userControlClick(object sender, EventArgs e)
2
{
3
     MyUserControl item = (MyUserControl)sender;
4
     MessageBox.Show(item.Text);
5
}
Und z.B. in Form.Load():
1
myUserControl.Click += new EventHandler(userControlClick);

Google: 'c# add event handler'

: Bearbeitet durch User
von Entwickler (Gast)


Lesenswert?

Vielen Dank für die Hilfe.

Bei folgender Codezeile erscheint eine Fehlermeldung:
1
myUserControl.Click += new EventHandler(OnMouseDoubleClick);

Fehlermeldung:
Keine Überladung für "OnMouseDoubleClick" stimmt mit dem Delegaten 
"System.EventHandler" überein.

von Fuzzi59 (Gast)


Lesenswert?

Du musst auch eine passende Funktion dafür schreiben.
Beispiel:
1
public Form1()
2
        {
3
            InitializeComponent();
4
            this.MouseDoubleClick += Form1_MouseDoubleClick;
5
        }
6
7
        void Form1_MouseDoubleClick(object sender, MouseEventArgs e)
8
        {
9
            throw new NotImplementedException();
10
        }

Falls du Visual Studio benutzt kannst du auch durch die Eingabe nach += 
die Tab-Taste zweimal drücken um die Funktion automatisch erstellen zu 
lassen.

von Moritz (Gast)


Lesenswert?

+= FunktionsName; müsste eig. reichen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.