2010-02-24 6 views
0

Je ne fais pas beaucoup de développement WinFom donc je ne connais pas trop le contrôle MenuStrip. J'ai ajouté une barre de menu à mon formulaire et ajouté (1) élément à celui-ci. Tout cela a été fait en utilisant le concepteur.C# WinForm MenuStrip L'événement ne semble pas se déclencher

J'ai donc Utilities -> Download Utility. Lorsque je double-clique sur «Télécharger» dans le concepteur, un gestionnaire d'événements est créé pour moi.

private void downloadUtilityToolStripMenuItem_Click(object sender, System.EventArgs e) 
     { 

      MessageBox.Show("Ding!"); 

     } 

MISE À JOUR:

je remarquai que la IntializeComponent() dans le constructeur de ma forme ne semble jamais être exécuté. J'ai placé un point d'arrêt dans le constructeur et il ne frappe jamais. J'ai refactorisé ce formulaire pour changer le nom de la valeur par défaut (form1) en 'main'. Je suppose que c'est le problème mais je ne vois pas pourquoi. Toutes les références form1 semblaient avoir été mises à jour. Je l'ai fait avec l'IDE.

Lorsque je débogue cette application, je n'arrive jamais à déclencher cet événement. Qu'est-ce que j'oublie ici?

-Nick

Répondre

0

Je l'ai fonctionné. Apparemment, lors du débogage du projet, il n'était pas en cours de reconstruction. Après avoir refacturé le nom de mon formulaire, il a fallu "Reconstruire" la solution. Maintenant, partout dans mes événements fonctionnent comme ils le devraient. Merci pour l'aide.

1

Vérifiez sur la page de propriétés de l'élément de menu (sous les événements - cliquez sur l'icône de la foudre) si l'événement Click a un gestionnaire.

+0

Le fichier downloadUtilityToolStripMenuItem_Click est spécifié. Bizarre, n'est-ce pas? L'événement est également câblé dans le code généré: this.downloadUtilityToolStripMenuItem.Click + = new System.EventHandler (this.downloadUtilityToolStripMenuItem_Click); – Nick

0

Vérifier:

  • fenêtre Propriétés du menu, cliquez sur l'élément de menu en question pour le « Télécharger »
  • Cliquez sur le « Lightening Bolt », une petite icône en dessous du haut des propriétés Window, si vous passiez la souris dessus, il afficherait 'Events' dans l'info-bulle.
  • Faites défiler la liste et recherchez le 'événement Click' sous Actions, double-cliquez dessus, pour laisser VS remplir automatiquement dans le gestionnaire d'événements pour vous

OU

Double-cliquez sur l'élément de menu dans le Concepteur de formulaires, qui par défaut l'événement click de l'élément de menu et remplir le code pour le « Télécharger » élément de menu, à savoir MessageBox.Show("Ding");

Hope this helps, Meilleures salutations, Tom.

+0

C'est exactement comme cela que j'ai créé le gestionnaire d'événements pour commencer. – Nick

Questions connexes