2016-04-24 22 views
-1

Ich habe mainVariable.cs, die Delegaten für Ereignisse enthält. Auch ich habe mehrere Formen und eine worker.cs. Mein Problem ist, dass Login-Formular Formular beginnt und einige Ereignisse behandelt. Danach versteckt es sich und zeigt eine andere Form. Jetzt beginnt das Problem hier, denn die zweite Form, die nach dem Login gestartet wurde, kann keine Ereignisse verarbeiten. Ich meine, wenn ich ein Ereignis von worker.cs anmelde und das Login-Formular das Ereignis nicht das zweite behandelt, auch wenn ich das Login-Formular entsorge. Wie kann ich dieses Rätsel lösen?Benutzerdefinierte Ereignisbehandlung

+0

bitte Code hinzufügen – user853710

+0

wpf? Winformen? ?????? – user853710

+0

WinForm, aber ich kann Codes nicht teilen, es zu groß –

Antwort

0

Wenden Sie diese auf Ihre Programm.cs

 Application.Run(loginForm); 
     if (loginForm.IsLoggedIn == true) 
     { 
      ERS_FDData.ERSUser user = loginForm.user; 
      loginForm.Close(); 
      Application.Run(new frmMain(loginForm.user)); 
     } 
     else 
      Application.Exit(); 

Nach der Anmeldung erfolgt ist, müssen Sie den MAINF Rahmen setzen Sie die Anwendung Standardfenster

+0

Im tryinf es jetzt –

+0

noch Ereignis ist null –

+0

hast du den Eventhandler überall abonniert? – user853710

0

Für jedes Ereignis, die Sie behandelt werden müssen weise ihm ein Unterprogramm zu.
Sie können dies aus jedem Formular tun, wenn Sie initialisieren und es zuerst zeigen.

Zum Beispiel.

Form1 
    { 
     FormLoad() 
     { 
      mybutton.click += new EventHandler(myfunction); 
     } 
     myfunction(object o, EventArgs e) { // Dostuff } 
    } 

So würden Sie Form1 so etwas wie dieses

Form1 myform = new Form1(); 

initialisieren und das Ereignis wird funktionieren wie die Form erwartet.

+0

Ich tat dies, aber immer noch behandelt in der ersten Form wegen dieser zweiten Form Ereignisse nicht funktioniert. Es sagt, ich bin null. –