Ich habe ein ContextMenuStrip
Setup mit zwei ToolStripItem
s. Das zweite ToolStripItem
hat zwei zusätzliche verschachtelte ToolStripItem
s. Ich definiere dies als:
Ich habe dann einen Ereignis-Listener für die Click-Ereignisse der drei ToolStripMenuItem
s eingerichtet, auf die ich antworten möchte. Hier sind die Methoden (ich habe nur zwei der drei Methoden aufgelistet):
Hier ist das Problem, das ich habe:
Meine contextJumpTo_Click
-Methode funktioniert einwandfrei. Wir gehen bis zu dem Punkt, an dem ich feststelle, aus welchem DataGridView
der Klick stammt, und ich kann fortfahren. Der contextJumpTo
ToolStripMenuItem
ist jedoch KEIN verschachtelter Menüpunkt auf dem ContextMenuStrip
.
Aber meine Methode für contextJumpToHeatmapStart_Click
funktioniert nicht richtig. Wenn ich zu der Zeile komme, in der ich owner.SourceControl
festlege, ist SourceControl
null und ich kann nicht fortfahren. Jetzt weiß ich, dass diese ToolStripMenuItem
unter einer anderen in meinem ContextMenuStrip
verschachtelt ist, aber warum ist die SourceControl
Eigenschaft plötzlich null auf meinem ContextMenuStrip
?
Wie erhalte ich die SourceControl
für eine verschachtelte ToolStripMenuItem
für eine ContextMenuStrip
?
Ich glaube, das ist ein Fehler.
Ich habe versucht, die Liste der Toolstrip-Eltern hochzukramen, um zum ContextStripMenu-Besitzer zu gelangen, was funktioniert hat, aber die SourceControl-Eigenschaft war immer null.
Es sieht so aus, als wäre es üblich, das Steuerelement beim Öffnen des Kontextmenüs zu setzen:
%Vor%Dann wird Ihr Code im Grunde genommen zu diesem:
%Vor%Tags und Links .net c# winforms contextmenustrip