WinForm 菜单控件

一:MenuStrip 菜单条

 

 MenuStrip 是应用程序菜单条的容器。

二:ToolStripMenuItem 

像上面图中, 文件 格式 等这些菜单当中的一级菜单以及文件中的 新建 打开 分割条 退出 这些二级菜单全都是ToolStripMenuItem。

你可以在设计里直接添加,也可以在后台用c#代码添加。

通过menuStrip的Items属性获得ToolStripMenuItem的集合,往该集合里添加一个新的ToolStripMenuItem。

this.menuStrip.Items.Add(new ToolStripMenuItem("文件"));

 

三:快捷键的设置

如果想要通过快捷键快速定位到菜单,那么需要在每个ToolStripMenuItem的Text后面加上一个  (&+你要设置的快捷键)

然后在打开应用后,可以按住alt+你设置的快捷键 光标就会移动到你选的那个菜单。

 

例如:我按了alt+F 那么就会跳到类似下图。这种方式仅仅是用于一级菜单。也就是文件 格式等一级菜单。

 

四:

如果你想实现很多windows软件的快捷键功能,例如直接在软件里按住ctrl+N 会直接帮你跳出创建页面。

在新建对应的ToolStripMenuItem的Shortcuteys属性设置快捷键。

在对应的ToolStripMenuItem的click事件添加点击事件。

 

实际上快捷键就是帮你直接触发ToolStripMenuItem的click事件。不用你自己去点。

 

 

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一:contextMenuStrip 上下文菜单条

这东西听起来挺复杂的,其实就是我们平时经常碰到的右键菜单,根据你点的东西不同,会给你不同的菜单。 也就是上下有联系。

可以用在窗体右键菜单,或者按钮上的右键菜单

Form和Button控件上都有一个ContextMenuStrip属性用于绑定  你自己设置的contextMenuStrip菜单对象。

 

同时contextMenuStrip 对象有一个SourceControl 用于记录当前的上下文菜单是在哪个控件身上。

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("剪贴");
            }
}

 

--------------------------------------------------------------------------------------

 

 

 

-------------some words------------------

1.strip 长条,条板

2.MenuStrip 菜单条

3.Shortcuteys 快捷键

4.contextMenuStrip 上下文菜单条

5.RichTextBox 扩展文本框 富文本框

---------------the end---------------------

posted @ 2017-11-01 22:22  5只猫  阅读(3343)  评论(2编辑  收藏  举报