Bonjour � tous,
Je travail avec visualC++ et les windows form.
J'ai un probl�me avec un contextmenu.
J'ai plusieurs picturebox, certaines ont un evenement "click" qui app�le une m�thode, d'autres non. Je voudrais que lorsque je "clic droit" sur une picturebox qui a un evenement, que le menu s'affiche.
Or ce qui se passe, c'est que le menu s'affiche quelque soit l'endroit ou je "clic droit".
Voici mon code:
Je ne comprend pas, � aucun moment je lui dis de s'afficher, mais il s'affiche � chaque "clic droit".
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 //---------------------------------- //dans le constructeur de ma form //---------------------------------- System::Windows::Forms::ContextMenu^ mnuContextMenu = gcnew System::Windows::Forms::ContextMenu(); this->ContextMenu = mnuContextMenu; MenuItem^ Statistiques = gcnew MenuItem(); MenuItem^ Telnet = gcnew MenuItem(); Statistiques->Text = "Statistiques"; Statistiques->Click += gcnew System::EventHandler(this, &Form1::Click_Stat); Telnet->Text = "Telnet"; Telnet->Click += gcnew System::EventHandler(this, &Form1::Click_Telnet); mnuContextMenu->MenuItems->Add(Statistiques); mnuContextMenu->MenuItems->Add(Telnet); //-------------------------------- //méthode appelé lorsque la souris s'appuie sur une picturebox qui a un //evenement "clic" //-------------------------------- private: System::Void Picture_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) { //transforme le pointer sur l'objet, en pointer sur une picturebox PictureBox^ Cible = (PictureBox^)sender; if(e->Button == System::Windows::Forms::MouseButtons::Left) { ... } else if(e->Button == System::Windows::Forms::MouseButtons::Right) { //affiche contextmenu ici!!! } }
Comment faire?
Merci d'avance � tous,
Persnip
Partager