Laden...

ContextMenu soll nicht schließen wenn auf ein ToolStrip geklickt wird

Erstellt von bz7i vor 12 Jahren Letzter Beitrag vor 12 Jahren 968 Views
B
bz7i Themenstarter:in
12 Beiträge seit 2011
vor 12 Jahren
ContextMenu soll nicht schließen wenn auf ein ToolStrip geklickt wird

Moin,

Ich habe eine NotifyIcon Anwendung, mit Klick auf das Icon öffnet sich ein ContextMenüStrip. In dem ContextMenüStrip fange ich das .Close() Event ab. Ich möchte nicht, das sich das CM schließt wenn ich auf ein ToolStrip klicke.

hier der Code dazu:

        private void myClosingHandler(object sender, ToolStripDropDownClosingEventArgs e)
        {
            //MessageBox.Show(e.CloseReason.ToString());
            if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)  e.Cancel = true;
            
        }

Funktioniert in der Therorie, in der Praxis verliert das CM unter bestimmten umständen den Focus und schließt.

Jetzt weiß ich nicht warum das CM den Focus verliert...

Jemand ein Tipp wie ich dem auf die Spur komme ? Meine Idee ist es erstmal abzufragen, weches Objekt denn den Focus hat. Ist das möglich ??

Weil ich auch mit .Visible false/true im CM arbeite, glaub ich, das es daher irgendwie stammt. Aber seh da kein Muster, da es ja an 90% der ToolStrips funktioniert 😕

mfg Basti...

G
538 Beiträge seit 2008
vor 12 Jahren

Was wäre denn in so einem Fall die ToolStripDropDownCloseReason?

AppFocusChange?

Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)