2016-04-24 1 views
-1

J'ai mainVariable.cs qui contient des délégués pour les événements. J'ai aussi plusieurs formulaires et un worker.cs. Mon problème est que le formulaire de connexion est en cours de démarrage et gère un événement. Après cela, il se cache et montre une autre forme. Maintenant, le problème commence ici, car la deuxième forme qui a commencé après la connexion, ne peut pas gérer tous les événements. Je veux dire quand je soulève un événement de worker.cs et le formulaire de connexion gère l'événement pas le second même si je dispose du formulaire de connexion. Comment puis-je résoudre ce puzzle?Gestion des événements personnalisés

+0

s'il vous plaît ajouter un code – user853710

+0

wpf? winforms? ?????? – user853710

+0

WinForm mais je ne peux pas partager les codes, il est trop grand –

Répondre

0

appliquer à votre 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(); 

Une fois la connexion effectuée, vous devez définir le cadre Mainf être la fenêtre par défaut de l'application

+0

Im tryinf now maintenant –

+0

even event is null –

+0

Avez-vous souscrit au eventhandler où que ce soit? – user853710

0

Pour tout événement à traiter, vous devez Assignez-lui un sous-programme.
Vous pouvez le faire sous n'importe quelle forme, étant donné que vous l'initialisez et que vous le montrez en premier.

Par exemple.

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

Vous voulez initialisez Form1 quelque chose comme ça

Form1 myform = new Form1(); 

Et l'événement fonctionnera comme la forme attend.

+0

Je l'ai fait, mais encore les événements manipulent dans la première forme en raison de cette deuxième forme événements ne fonctionne pas. Il dit que je suis nul. –