Hinzufügen eines Rechtsklick / Kontextmenü, um das listbox-Elemente in C#
Ich habe eine ListBox, und seine gefüllt mit Artikel, id gerne wissen, wie man:
- wenn Sie mit der rechten Maustaste in das Listenfeld, die die rightclicked Element ausgewählt werden,
- ein Rechtsklick-Menü wird angezeigt mit mehreren Elementen..
- wenn Sie klicken Sie auf eines der Elemente, eine entsprechende leere ausgelöst wird..
vielen Dank im Voraus für jede Hilfe und code-Beispiele bitte!
- "eine entsprechende leere ausgelöst werden" : was bedeutet das ? Ich denke du meinst, dass eine Methode/Prozedur ausgelöst wird, basiert auf dem Menü-item der Benutzer ausgewählt hat.
- wpf oder winforms?
- Dies ist eine nützliche Frage; es muss nur einige geringfügige änderungen.
- Lesen Sie meine Antwort in diesem Thread. stackoverflow.com/questions/376910/...
InformationsquelleAutor Xavier | 2009-11-14
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese fühlt sich für mich wie eine "Hausaufgaben" - Frage, so werde ich die Antwort von (ich hoffe) das geben von Ihnen nur ein paar Hinweise, zur Lösung dieses für sich selbst.
Phase One
...
Phase Zwei
führen Sie das test-Programm und beobachten Sie den Unterschied zwischen dem, was Ereignisse gemeldet werden, für eine linke Maus down und Maus rechts unten (vorausgesetzt, Ihre Umgebung über den Kontext, klicken Sie auf die Rechte Maustaste drücken ... das kann nicht wahr sein für alle).
Fokus auf ein Ereignis, das Sie abfangen kann mit einem Klick im Kontextmenü.
fügen Sie ein Kontext-Menü um das test-Projekt, und legen Sie das Kontext-Menü das Kontext-Menü des Listenfeldes.
stellen Sie sicher, dass Sie jetzt einen Rechtsklick auf ein Element in der ListBox und das Kontextmenü wird angezeigt, ABER DAS EREIGNIS WIRD NOCH BEHANDELT, INDEM DIE HANDLER, den SIE "VOR" IN SCHRITT 2.
nun gehen Sie durch alle Event-Handler für die ListBox, und herauszufinden, welche verwendet werden könnte, um zu erkennen, erhält eine bestimmte Position in der ListBox, die Liste Element war "hit."
einmal können Sie bestimmen, welcher Punkt der Liste war, mit der rechten Maustaste auf, und Sie wissen, Ihr Kontext-Menü funktioniert, Sie haben nur das problem, dass Sie sicher, dass das rechts-Klick auf List-Item aktiviert ist : und das ist ziemlich einfach.
Herauszufinden diese selbst wird dich lehren, einige sehr nützliche Dinge, die Sie werde in der Lage sein, um Sie später zu verwenden, die in die Programmierung für andere Steuerelemente.
viel Glück, Bill
Erste, Sie brauchen, um zu abonnieren ListBox.Maus-Klick-Ereignis. Sie werden in der Lage sein tun bestimmen, welche Taste gedrückt wurde und die cursor-Koordinaten. Verwenden Sie dann die ListBox.IndexFromPoint Methode zu finden angeklickte Element. Sie können wählen Sie es mit ListBox.SelectedIndex-Eigenschaft. Zur Anzeige Kontext-Menü Kontext-Menü oder ContextMenuStrip-Klassen. Zusätzliche Dokumentation über Kontext-Menü in MSDN
1.wenn du mit der rechten Maustaste in das Listenfeld, die die rechts angeklickte Element ausgewählt werden
2.ein rechts-Klick-Menü wird angezeigt mit mehreren Elementen..
3.wenn Sie klicken Sie auf eines der Elemente, eine entsprechende leere ausgelöst wird..