zoukankan      html  css  js  c++  java
  • 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---------------------

  • 相关阅读:
    骑行封龙山
    静夜
    骑行伏羲台
    我?
    生活挺好
    多事之秋,大家注意安全
    看不到啊看不到
    个人时间管理
    给DataGrid设置中文列名
    食用油是那么让人又爱又恨!
  • 原文地址:https://www.cnblogs.com/MzwCat/p/7768862.html
Copyright © 2011-2022 走看看