ToolStripMenuItem - 受限制

时间:2014-01-01 10:49:31

标签: c# forms

我有一个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);

3 个答案:

答案 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