je ces deux événements Form1:Pourquoi lorsque vous cliquez sur le bouton droit de la souris sur listBox, cela fonctionne partout dans la zone listBox?
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
//clear the menu and add custom items
contextMenuStrip1.Items.Clear();
contextMenuStrip1.Items.Add(string.Format("Edit - {0}", listBox1.SelectedItem.ToString()));
}
private void listBox1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right)
{
int index = listBox1.IndexFromPoint(e.Location);
if (index == -1) return;
contextMenuStrip1.Show(listBox1,listBox1.PointToClient(System.Windows.Forms.Cursor.Position));
}
}
Dans le designer, j'ai un ContextMenuStrip et un contrôle ListBox. Ce que j'ai besoin de faire est quand je clique sur le bouton droit de la souris n'importe où sur la zone de la liste, il ne fera rien. Mais si je clique seulement sur l'élément sélectionné dans le listBox alors le contextMenuStrip montrera. Seulement si la souris au-dessus/sur l'élément sélectionné dans le listBox. Lorsque mon programme est déjà en cours d'exécution, le premier élément est sélectionné, donc j'ai besoin qu'une fois que je cours mon programme si je déplace ma souris au-dessus de l'élément sélectionné et que je clique avec le bouton droit cela fonctionnera. Si je ne suis pas sur l'élément sélectionné, cela ne fonctionnera pas. Je veux dire que si le curseur de la souris est au-dessus de l'élément sélectionné, le clic droit fonctionnera et montrera le contextemenustrip.
Non ifi déplacer la souris sur l'élément sélectionné si je place la souris sur l'élément sélectionné maintenant si je clique sur le bouton droit de la souris, cela fonctionnera.
Maintenant je peux cliquer partout dans le listBox et il montrera le contextmenustrip et ce n'est pas ce dont j'ai besoin. – user2065612