Jak zrobić, aby po kliknięciu (lewym klawiszem myszy) w PictureBox pokazało się menu. Myślałem o zdażeniu "MouseClick", ale nie mam pojęcia jak to oprogramować i jakiego komponentu mam użyć. Program w C# (Windows Form Application).
otwieranie menu za pomocą picturebox
- Rejestracja: dni
- Ostatnio: dni
- Postów: 140
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Kosmos
- Postów: 1571
C# nie znam, ale w C++ Builderze mam komponent TPopupMenu. W nim metodę Popup(int X, int Y). X i Y to pozycja "popup" menu. W zdarzeniu onMouseClick TPicture, jeżeli to jest np. prawy klawisz myszy to daję metodę Popup(...) z parametrami współrzędnych myszy, które są w metodzie onMouseClick. BTW Zdarzenie przez "rz" nie "ż".
- Rejestracja: dni
- Ostatnio: dni
- Postów: 140
Nie mam takiego komponentu w Visual C# 2010. Jest może jakieś inne rozwiązanie. Chciałbym, aby po kliknięciu w picturebox pojawiało się menu, a po kliknięciu drugim w picturebox znikało.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 140
Ale to działa na prawy klawisz myszy. To co mam zaznaczone na obrazku (ContextMenuStrip). Może użyć MenuStrip, tylko jak to zaprogramować?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 106
Za kliknięcie w pictureBox'ie odpowiada zdarzenie Click.
Menu, które Cię interesuje to contextMenu.
Za wyświetlanie tego menu odpowiada metoda Show, która pobiera w argumencie obiekt typu Point, wskazujący miejsce, w którym menu ma się ukazać.
Za aktualną pozycję kursora odpowiada właściwość Position z klasy Cursor (zwraca obiekt typu Point).
Tyle Ci wystarczy, aby uzyskać interesujący Cię efekt.
Wiesz co Ci powiem? Przed napisaniem tego posta nie znałem odpowiedzi na żadne z twoich pytań. Wiesz co zrobiłem? Nawet nie szukałem w Google, po prostu włączyłem Visual Studio i sam to sprawdziłem. Zajęło mi to mniej niż minutę. Włącz myślenie, bo twoje pytania stają się denerwujące.