如果未选择任何内容,请勿显示上下文菜单

use*_*130 6 c#

我想只显示一个上下文菜单,如果在winforms c#应用程序的列表框中实际选择了一个项目.

目前,我可以选择一个项目,如果它被正确点击,如果没有选择任何内容我可以禁用右键菜单,但是,我不希望菜单显示.

怎么能实现呢?

private void genPassMenu_Opening(object sender, CancelEventArgs e)
    {
        genPassMenu.Enabled = lstPasswords.SelectedIndex > 0;
        genPassMenu.Visible = lstPasswords.SelectedIndex > 0;

    }
Run Code Online (Sandbox Code Playgroud)

我自己尝试了这两种情况,它只适用于启用.
也许Opening不是正确的选择事件?
TX

Fab*_*ian 12

试试这个:

private void genPassMenu_Opening(object sender, CancelEventArgs e)
{
    //if (lstPasswords.SelectedIndex == -1) e.Cancel = true;
    e.Cancel = (lstPasswords.SelectedIndex == -1);
}
Run Code Online (Sandbox Code Playgroud)