zoukankan      html  css  js  c++  java
  • C# 菜单项添加复选标记

    在网上查找都是说直接用菜单项的Checked属性,

    toolMenuItem.Checked=!toolMenuItem.Checked;

    但是我用了也切换不过来。

    有点晕菜了,我用的是vs2017.

    最后自己摸索弄出下面的方法,但是没能理解其含义。也是醉了。

    在菜单项的点击事件中,判断菜单项的选中状态

    //窗体置顶
    private
    void TOPFORM_ToolStripMenuItem_Click(object sender, EventArgs e) { ToolStripMenuItem toolMenuItem = sender as ToolStripMenuItem; if (toolMenuItem.CheckState==CheckState.Unchecked) { toolMenuItem.CheckState = CheckState.Unchecked;//菜单项取消选中标记 toolStripButton5.CheckState = CheckState.Unchecked;//对应工具栏上的按钮也取消选中标记 } else { toolMenuItem.CheckState = CheckState.Checked; toolStripButton5.CheckState = CheckState.Checked; } }

    我也不太明白为啥是选中状态==取消状态(Unchecked)才能切换选中的勾

    但是只有这样写才能切换选中状态

    如果写成:

    private void TOPFORM_ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                ToolStripMenuItem toolMenuItem = sender as ToolStripMenuItem;
    
                if (toolMenuItem.CheckState==CheckState.Unchecked)
                {
                  
                    toolMenuItem.CheckState = CheckState.Checked;
                    toolStripButton5.CheckState = CheckState.Checked;
                }
                else
                {
        
                    toolMenuItem.CheckState = CheckState.Unchecked;
                    toolStripButton5.CheckState = CheckState.Unchecked;          
            } }

    就不行,切换不了

    签名:GreenLeaf1976
  • 相关阅读:
    MYSQL: 什么是MYSQLD Service
    100 logging模块
    099 hashlib和hmac模块
    098 json和pickle模块
    097 sys模块
    096 os模块
    095 random模块
    094 datetime模块
    093 time模块
    092 模块基础实战之ATM和购物车系统分文件处理
  • 原文地址:https://www.cnblogs.com/greenleaf1976/p/14928610.html
Copyright © 2011-2022 走看看