2009-08-20 5 views
0

HALLO jeden opeing,Context geöffnet Ereignis nicht nach abfeuert Ereignisse

Ich habe eine Usercontrol mit einem Context daran befestigt.

Ich möchte ContextMenu Basis anzeigen, auf das Objekt auf der Oberfläche des Steuerelements geklickt wurde.

Das Problem ist, dass beim ersten Start, wenn ich mit der rechten Maustaste auf die Oberfläche des Steuerelements klicken, der ContextMenuStrip nicht angezeigt wird!

Ich setze Haltepunkt innerhalb sowohl contextMenuStrip_opening und contextMenuStrip_opened Ereignis, aber es scheint, dass nur contextMenuStrip_opening ausgelöst werden.

Was ist passiert?

In welcher Situation wird der ContextMenuStrip nicht angezeigt?

Bitte helfen.

Antwort

0

Wenn das Symptom ist, dass die ContextMenuString überhaupt nicht zeigen, würde ich darauf wetten, dass Ihr Code true an die e.Cancel Eigenschaft im Opening Ereignisbehandlungsroutine zuweist.

Wenn das Menü zeigt, aber der Opened Event-Handler nicht aufgerufen wird, würde ich meinen, dass der Event-Handler für das Ereignis Opened aus irgendeinem Grund nicht angehängt ist.

1

Ich habe solche Dinge nicht gemacht, indem ich e.Cancel = true markiert habe oder das Steuerelement nicht zugewiesen habe. Wenn es so wäre, hätte ich mich mit Debugging ausgekämpft.

Ich weiß nicht warum, aber ich füge e.Cancel = false am Anfang von ContextMenuStrip_Opening Event-Handler dann funktioniert es gut.

+0

Wow nächste verwenden, ich habe es zuerst nicht glauben, aber wenn Sie e gesetzt. Abbrechen zu false funktioniert, das nervt mich schon seit Tagen. – jamier

1

hatte ich ein Problem mit Usercontrol, aber e.Cancel = false arbeitet nicht für mich

I

private void itemMenu_Opened(object sender, EventArgs e) 
    { 
     this.itemMenu.Focus(); 
    } 
Verwandte Themen