Comme je le vois contextmenu a seulement Show()
. Mais pas ShowModal()
.Menu contextuel showmodal
Ce dont j'ai besoin est d'être sûr que l'utilisateur a cliqué sur n'importe quel élément dans le menu. L'utilisateur doit cliquer sur l'un d'entre eux.
Je peux regarder l'événement de clôture avec la propriété d'annulation. Mais même quand je mets annuler à true - winforms permet de sélectionner un autre nœud treeview (menu contextuel pour le nœud d'arbre).
Alors, comment complètement rendre le menu contextuel modal?
Pour l'instant je dois écrire comme ça
void contextMenuTreeView_Closed(object sender, ToolStripDropDownClosedEventArgs e)
{
if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
return;
if (treeView.SelectedNode != null && treeView.SelectedNode.Tag != null)
{
if (ChangeCustomerEventHandler != null)
ChangeCustomerEventHandler(this, new CustomerTreeNodeEventArgs((Guid)treeView.SelectedNode.Tag));
}
else
{
if (NewCustomerEventHandler != null)
NewCustomerEventHandler(this, EventArgs.Empty);
}
}