我有一个ToolStripMenuItem,我想要做的是,如果一个标志是假的,不允许用户点击它。
我可以这样做吗?当我添加点击事件时,它仍会打开菜单。this.logsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.ToolStripMenuItem1,
this.ToolStripMenuItem2,
this.toolStripSeparator1,
this.getReportToolStripMenuItem});
this.logsToolStripMenuItem.Name = "logsToolStripMenuItem";
this.logsToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
this.logsToolStripMenuItem.Text = "Logs";
this.logsToolStripMenuItem.Click += new System.EventHandler(this.onlog_click);
答案 0 :(得分:2)
使用商品的“已启用”属性并将其设置为false以停用任何行为... 如果flag为false,则Alternativley删除您的click事件处理程序(.click - = myClickHandler;)... 或者使用DropDownOpening事件并取消它。这是在即将开启时被解雇但尚未开放......
答案 1 :(得分:1)
您可以使用ToolStrip的Enabled属性启用/禁用菜单。
启用它(允许用户点击)
toolStrip1.Enabled = true;
并禁用它(不允许用户点击)
toolStrip1.Enabled = false;
答案 2 :(得分:0)
ToolstripMenuItem是实现ToolStrip或ToolStripDropDown类的抽象基类。这些类提供了您所需的功能。
例如,ToolStripDropDownItem有一个名为Opening的事件,它接收一个可用于取消菜单打开的CancelEventHandlerArguments