Recherche
 
 
 
Tutoriaux
 
- Initiation à VS .NET
- Agencement des composants
- Menu déroulant
- Pop-up
- Traitement des fichiers
- Les Délégués
- Les Threads
- Fichiers XML
- Flux Web
- Services Web
 
 
Projets
 
- Calpe's World
- Sarky
- CyberAbuse
 
 
Me conctacter
 
- Demande d'aide
- Me proposer un poste
 
 
Liens
 
- Developpez.com
- C# Help
- Cours C# de l'ESSI
 
 
Pop-up



On voit dans maintes applications le fameux clic droit qui affiche par la suite un sous-menu. Très pratique mais complexe à effectuer, nous allons voir dans ce chapitre comment le faire


Tout d'abord créons un formulaire windows avec un bouton afin d'avoir une cible pour le clic droit.


Ajoutons aussi un menu contextuel (ContextMenu) présent dans la boîte à outils. Ceci est le sous menu qu'on verra apparaître lors du clic droit.


Ensuite remplissons ce menu (il ne sera pas affiché à cet endroit, pas d'inquiétude) avec l'élément "C# Pro" et l'élément "Le site Pro", ceci n'est qu'un exemple ;).

Une fois ce formulaire créé, ajoutons une méthode reliée à l'évevement qui correspond à clic appuyé (donc non relaché) de la souris.


Il suffit de cliquer deux fois dans le champs de l'évenement MouseDown pour être envoyé dans le code:
               private void Form1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
          {
               Point p = new Point(e.X,e.Y);
               if(e.Button == MouseButtons.Right)
                    contextMenu1.Show(button1,p);
          }

La première ligne de la méthode sert définir un point correspondant aux coordonnées du clic.
Ensuite on vérifie que le clic est bien un clic droit (ça marche aussi avec 'left').
A la 3ème ligne, si on a bien le clic droit, on affiche le menu contextuel.
Le programme est maintenant opérationnel mais le sous-menu n'enclenche rien une fois un élément choisi.
Pour se faire, retournons à l'interface de développement, cliquons sur contextMenu1 (1) en bas afin de pouvoir modifier notre menu.


Une fois sur le menu, on double-clique sur un des éléments ("Le site pro" par exemple) pour entrer dans le code
Nous aurons ensuite simplement à écrire le code que nous voulons voir exécuter lors de ce clic.
          private void menuItem2_Click(object sender, System.EventArgs e)
          {
               MessageBox.Show(" Le chapitre est fini ! ");
          }

Notre programme est maintenant fini. A vous de faire des interfaces extraordinaires !