1

假设我有一个包含项目的列表视图

apple
banana
beans

我将 contextmenustrip 附加到列表视图,例如添加 contextmenustrip 项

我希望仅当我单击列表视图中的项目而不是空列表中的任何位置时才启用添加。

4

2 回答 2

2

只需拦截组件的Opening事件ContextMenuStrip(在上下文菜单实际出现之前发生)并执行以下操作:

public partial class Form1 : Form {

    public Form1() {
        this.InitializeComponent();

        this.contextMenuStrip1.Opening += this.contextMenuStrip1_Opening;
    }

    private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) {
        this.itemAdd.Enabled = this.listView1.SelectedItems.Count > 0;
    }

}
于 2013-03-03T11:35:36.667 回答
0

ContextMenuStrip除非您从控件中选择了至少一项,否则这是另一种完全阻止控件出现的方法ListView

这种方法还拦截OpeningContextMenuStrip.

private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) 
{
     e.Cancel = this.listView1.SelectedItems.Count <= 0;
}
于 2013-07-19T15:18:19.707 回答