ContextMenuStrip.Owner Eigenschaft null Beim Abrufen von Nested ToolStripMenuItem

9

Ich habe ein ContextMenuStrip Setup mit zwei ToolStripItem s. Das zweite ToolStripItem hat zwei zusätzliche verschachtelte ToolStripItem s. Ich definiere dies als:

%Vor%

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):

%Vor%

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 ?

    
Michael Mankus 23.08.2012, 14:55
quelle

1 Antwort

9

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%     
LarsTech 23.08.2012, 17:13
quelle

Tags und Links