详细了解:有关菜单的更多信息
更新:2007 年 11 月
在本课中,您将学习如何在运行时启用或禁用菜单,以及如何创建弹出菜单。
在上一课中,您学习了如何使用 MenuStrip 控件创建菜单,以使用户能够就您的程序做出选择。但在某些情况下,只有在特定的时候才可以进行选择。例如,“复制”菜单命令仅当有可复制的内容时才可用。
大多数程序在菜单命令不可用时都会禁用而不是隐藏它们。当菜单项被禁用后,菜单文本的颜色会变为灰色,单击该菜单项时不执行任何操作。使用 MenuStrip 控件时,可以通过使用 MenuItem 的 Enabled 属性禁用或启用菜单项。
试一试!
禁用或启用菜单项
在“文件”菜单上,单击“新建项目”。
在“新建项目”对话框的“模板”窗格中,单击“Windows 窗体应用程序”。
在“名称”框中键入 Menus2,然后单击“确定”。
一个新的 Windows 窗体项目随即打开。
在窗体中单击 MenuStrip 控件并键入 Edit,然后按 Enter。
在第一个框下面的框中,键入 Copy,然后按 Enter。
在“属性”窗口中,将 CopyToolStripMenuItem 的 Enabled 属性设置为 False。
双击 TextBox 控件以打开代码编辑器。
在 TextBox1_TextChanged 事件处理程序中,键入以下代码。
If Textbox1.Text <> "" Then CopyToolStripMenuItem.Enabled = True Else CopyToolStripMenuItem.Enabled = False End If
按 F5 运行程序。单击“编辑”菜单 — “复制”菜单项被禁用。在 TextBox 控件中键入一些内容,然后再次单击“编辑”菜单——“复制”菜单项现在就启用了。
创建弹出菜单
许多程序使用弹出菜单(也称为“上下文菜单”)以方便您访问经常使用的命令。通过在运行时右击窗体或控件可访问上下文菜单。您可以使用 ContextMenuStrip 控件在 Visual Basic 中创建您自己的上下文菜单。
与 MenuStrip 控件一样,将 ContextMenuStrip 控件拖动到窗体上时,ContextMenuStrip 控件以一个框的形式出现在窗体的上部,其中写着“请在此处输入”,并且有一个图标添加到组件栏中。与 MenuStrip 不同的是,附加项只能添加到第一个菜单项之下,以创建一个垂直菜单。
此外,ContextMenuStrip 必须与您希望它出现在其上的窗体或控件关联。为此,您需要将窗体或控件的 ContextMenuStrip 属性设置为 ContextMenuStrip 控件的名称。您可以将一个 ContextMenuStrip 与任意多个控件相关联。
试一试!
创建上下文菜单
在“文件”菜单上指向“新建”,然后单击“项目”。
在“新建项目”对话框的“模板”窗格中,单击“Windows 窗体应用程序”。
在“名称”框中键入 ContextMenus,然后单击“确定”。
一个新的 Windows 窗体项目随即打开。
将一个 ContextMenuStrip 控件从“工具箱”中拖动到窗体上。
在设计视图中单击窗体。在“属性”窗口中,选择窗体的 ContextMenuStrip 属性,然后单击下拉列表中的 ContextMenuStrip1。
在集成开发环境 (IDE) 底部的组件栏中,单击 ContextMenuStrip 控件。在 ContextMenuStrip 中,键入 Option1 ,然后按 Enter。
在第一个框下面的框中,键入 Option2,然后按 Enter。
双击“Option1”菜单项以打开代码编辑器。
在 Option1ToolStripMenuItem_Click 事件处理程序中,键入以下代码。
MsgBox("You chose Option 1")
在“代码编辑器”中,在左边的下拉框中选择“Option2ToolStripMenuItem”,然后从右边的下拉框中选择“单击”。
一个名为“Option2ToolStripMenuItem _Click”的新事件处理程序出现在代码编辑器中。
在“Option2ToolStripMenuItem _Click”事件处理程序中,键入以下代码。
MsgBox("You chose Option 2")
按 F5 运行程序。右击窗体并单击上下文菜单中的项,将会出现一个消息框,指出您选择了哪个选项。
后续步骤
在本课中,您学习了如何启用和禁用菜单,以及如何创建一个上下文菜单。在下一个主题中,您将学习如何使用另外一种类型的控件 — Timer — 来执行操作。
下一课:使用计时器执行定期操作