博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2005中使用C#编写MDI窗口根据子窗口个数控制菜单项的enabled属性
阅读量:4073 次
发布时间:2019-05-25

本文共 614 字,大约阅读时间需要 2 分钟。

加入我们需要使某个菜单项在子窗口个数为0时enabled属性为false,有子窗体时为enabled.

我们可以在MdiChildActivate中 编写代码进行控制.

但是这里有一个问题,就是,当关闭最后一个子窗口的时候,他的.MdiChildrenLength == 1,也就是包括了刚刚关闭的那个子窗口,这个东西很不好弄,我反正是没有找到好的办法.

我想到了两种办法:

1、增加实例变量,以记录是否是初次打开

2、增加timer事件,在MdiChildActivate中触发该事件,设置时间可以较短,然后每次执行之后,在timer中把自身关闭。

 

我采用了第一种,不过没有自己定义,使用了form的tag属性,代码如下,不知道有没有更好的办法,愿大家教我。

        private void FormImageFormatChangeTest_MdiChildActivate(object sender, EventArgs e)
        {
            if (this.Tag == null)
         {
                this.Tag = "NotFirst";
                this.tsbConvert.Enabled = true;          
         }
            else  if (this.MdiChildren.Length == 1)
            {
                this.tsbConvert.Enabled = false;
            }
            else
            {
                this.tsbConvert.Enabled = true;
            }

转载地址:http://lggji.baihongyu.com/

你可能感兴趣的文章
JavaScript的一些基础-数据类型
查看>>
coursesa课程 Python 3 programming 统计文件有多少单词
查看>>
coursesa课程 Python 3 programming course_2_assessment_7 多参数函数练习题
查看>>
coursesa课程 Python 3 programming course_2_assessment_8 sorted练习题
查看>>
多线程使用随机函数需要注意的一点
查看>>
getpeername,getsockname
查看>>
所谓的进步和提升,就是完成认知升级
查看>>
如何用好碎片化时间,让思维更有效率?
查看>>
No.182 - LeetCode1325 - C指针的魅力
查看>>
Encoding Schemes
查看>>
带WiringPi库的交叉笔译如何处理二之软链接概念
查看>>
Java8 HashMap集合解析
查看>>
自定义 select 下拉框 多选插件
查看>>
linux和windows内存布局验证
查看>>
Linux常用统计命令之wc
查看>>
fastcgi_param 详解
查看>>
搞定Java面试中的数据结构问题
查看>>
kprobe学习
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
React Native(二):属性、状态
查看>>