Ich habe die Anforderung, den Kontextmenüstrip auszublenden, wenn ein bestimmtes Flag nicht gesetzt ist. Da ich nicht glaube, dass wir das Ein-/Ausblenden des Kontextmenüs explizit steuern können, habe ich mich entschieden, mit der rechten Maustaste auf das Steuerelement zu klicken, mit dem der Kontextmenustrip verknüpft ist. Es ist ein UserControl, also habe ich versucht, das MouseClick-Ereignis zu handhaben, in dem ich überprüfe, ob das Flag gesetzt ist und ob es sich um einen rechten Button handelt. Zu meinem Erstaunen wird das Ereignis jedoch nicht auf den Maus-Rechtsklick ausgelöst, sondern nur für den Linksklick ausgelöst.Explizit verhindern, dass ContextMenuStrip in C geladen wird #
Ist irgendetwas mit mir nicht in Ordnung oder gibt es einen Workaround?
RECHTS KLICK ERHÄLT GEFUNDEN, Frage Titel und eine Beschreibung Changed
Nach etwas mehr Forschung tun, ich erhielt den Rechtsklick zu schießen, wenn ich die Maus Runter Ereignis auf der Control bearbeiteter. Bin aber noch ahnungslos, wie man den ContextMenuStrip vom Laden explizit wie verhindert. Eine weitere Frage ist, warum MouseClick Right Button Click nicht erkannt hat?
aktuelle Problemumgehung
Registrieren der Ereignishandler
userControl1.Control1.MouseDown += new MouseEventHandler(Control1_MouseDown);
void Control1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right && flag == false)
{
userControl1.Control1.ContextMenuStrip = null;
}
else
{
userControl1.Control1.ContextMenuStrip = contextMenuStrip1;
}
}
dies ist die aktuelle Problemumgehung ich tue. Aber wie kann ich es in der Eröffnungsveranstaltung des ContextMenuStrip ändern
Möglicher Postleitzahl? – NinethSense
Was meinst du mit dem neu eingefügten "Loading" in deiner Frage? Meinst du das Erstellen der Instanz? Oder meinst du, wie es vorher schien, das Popup? – OregonGhost
Auf dieser Seite http://msdn.microsoft.com/en-us/library/system.windows.forms.control.click.aspx finden Sie eine Beschreibung der Klickereignisse - es könnte erklären, warum Sie kein Recht bekommen click event – ChrisF