WinForm 菜单控件
2021-05-02 12:26
标签:source 需要 public 不同的 alt 快捷键 根据 ems cut 一:MenuStrip 菜单条 MenuStrip 是应用程序菜单条的容器。 二:ToolStripMenuItem 像上面图中, 文件 格式 等这些菜单当中的一级菜单以及文件中的 新建 打开 分割条 退出 这些二级菜单全都是ToolStripMenuItem。 你可以在设计里直接添加,也可以在后台用c#代码添加。 通过menuStrip的Items属性获得ToolStripMenuItem的集合,往该集合里添加一个新的ToolStripMenuItem。 三:快捷键的设置 如果想要通过快捷键快速定位到菜单,那么需要在每个ToolStripMenuItem的Text后面加上一个 (&+你要设置的快捷键) 然后在打开应用后,可以按住alt+你设置的快捷键 光标就会移动到你选的那个菜单。 例如:我按了alt+F 那么就会跳到类似下图。这种方式仅仅是用于一级菜单。也就是文件 格式等一级菜单。 四: 如果你想实现很多windows软件的快捷键功能,例如直接在软件里按住ctrl+N 会直接帮你跳出创建页面。 在新建对应的ToolStripMenuItem的Shortcuteys属性设置快捷键。 在对应的ToolStripMenuItem的click事件添加点击事件。 实际上快捷键就是帮你直接触发ToolStripMenuItem的click事件。不用你自己去点。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 一:contextMenuStrip 上下文菜单条 这东西听起来挺复杂的,其实就是我们平时经常碰到的右键菜单,根据你点的东西不同,会给你不同的菜单。 也就是上下有联系。 可以用在窗体右键菜单,或者按钮上的右键菜单 Form和Button控件上都有一个ContextMenuStrip属性用于绑定 你自己设置的contextMenuStrip菜单对象。 同时contextMenuStrip 对象有一个SourceControl 用于记录当前的上下文菜单是在哪个控件身上。 -------------------------------------------------------------------------------------- -------------some words------------------ 1.strip 长条,条板 2.MenuStrip 菜单条 3.Shortcuteys 快捷键 4.contextMenuStrip 上下文菜单条 5.RichTextBox 扩展文本框 富文本框 ---------------the end--------------------- WinForm 菜单控件 标签:source 需要 public 不同的 alt 快捷键 根据 ems cut 原文地址:http://www.cnblogs.com/MzwCat/p/7768862.htmlthis.menuStrip.Items.Add(new ToolStripMenuItem("文件"));
public Form1()
{
InitializeComponent();
//创建一个上下文菜单条对象
ContextMenuStrip contextMenuStrip = new ContextMenuStrip();
//给窗体绑定这个上下文对象
this.ContextMenuStrip = contextMenuStrip;
//给按钮绑定
this.button1.ContextMenuStrip = contextMenuStrip;
//给上下文菜单的打开 注册事件 当上下文菜单打开时触发
contextMenuStrip.Opening += contextMenuStripOpening;
}
public void contextMenuStripOpening(object sender, CancelEventArgs e)
{
ContextMenuStrip contextMenuStrip = sender as ContextMenuStrip;
//通过SourceControl属性判断当前是绑定在哪个控件上
if (contextMenuStrip.SourceControl ==this.button1)
{
contextMenuStrip.Items.Clear();
contextMenuStrip.Items.Add("打开");
contextMenuStrip.Items.Add("关闭");
}
else if (contextMenuStrip.SourceControl == this)
{
contextMenuStrip.Items.Clear();
contextMenuStrip.Items.Add("复制");
contextMenuStrip.Items.Add("剪贴");
}
}
上一篇:申请Netflix退款