在C#的Form中动态更改菜单、工具栏的状态
2010-04-08 16:37
483 查看
C++中要做这件事,可以通过ON_UPDATE_COMMENT_UI实现,我们知道,说到底ON_UPDATE_COMMENT_UI是沾了OnIdle
的光。
其实,在C#里面,也可以通过类似的方法去动态地更新菜单栏、工具栏。
C#提供了一个Application.Idle事件,通过注册这个事件,我们就可以让自己的应用程序在没事干时帮我们维护一下状态啥的。
很简单,两个步骤:
1. 在你的Form的构造函数里注册Application.Idle事件:
Application.Idle += new EventHandler(OnApplicationIdle);
这里,OnApplicationIdle是你的事件响应函数,应该长得象这个样子:
void OnApplicationIdle(object sender, EventArgs e);
2. 实现OnApplicationIdle,因为只被Form内部使用,Private就够了:
private void OnApplicationIdle(object sender, EventArgs
e)
{
//更新工具栏按钮m_tbtnOpen使能状态
this.m_tbtnOpen.Enabled = !this.m_bOpened;
}
的光。
其实,在C#里面,也可以通过类似的方法去动态地更新菜单栏、工具栏。
C#提供了一个Application.Idle事件,通过注册这个事件,我们就可以让自己的应用程序在没事干时帮我们维护一下状态啥的。
很简单,两个步骤:
1. 在你的Form的构造函数里注册Application.Idle事件:
Application.Idle += new EventHandler(OnApplicationIdle);
这里,OnApplicationIdle是你的事件响应函数,应该长得象这个样子:
void OnApplicationIdle(object sender, EventArgs e);
2. 实现OnApplicationIdle,因为只被Form内部使用,Private就够了:
private void OnApplicationIdle(object sender, EventArgs
e)
{
//更新工具栏按钮m_tbtnOpen使能状态
this.m_tbtnOpen.Enabled = !this.m_bOpened;
}
相关文章推荐
- 动态更改菜单之ModifyMenu
- C# 自定义样式实现菜单和工具栏的分割线
- 基于 SailingEase WinForm Framework 开发客户端程序(3:实现菜单/工具栏按钮的解耦及状态控制)
- 简单解决 multipart/form-data 文件上传表单中 传递参数无法获取的办法! (解决办法:动态更改表单提交URL)
- C#动态创建菜单
- c# 动态加载工具栏按钮代码
- 去掉基于FormView的MFC单文档默认菜单和工具栏的方法
- 用C#从数据库动态生成AdminLTE菜单的一种方法
- 用C#从数据库动态生成AdminLTE菜单的一种方法
- QQ界面含图片动态分组菜单的实现[C#]
- Reporting Services中通过主报表钻取到子报表再动态更改ReportViewer控件的reportPath时,提示错误对象的当前状态使该操作无效。
- [C#]模拟实现Visual Stduio工具栏动态效果--扩展控件DocKPanel
- 在插件式应用程序中,实现对菜单,工具栏按钮的 完全解耦及状态控制
- 扩展kendGrid 增加菜单状态动态设置保存
- C#动态创建右键菜单
- MDI动态改变菜单、工具栏
- VC++环境下菜单和工具栏的动态修改技术
- Unity3d开发(十二)使用Menu.SetCheck更改菜单勾选状态
- C# WinForm 用MenuStrip动态生成菜单并动态加载事件
- C# 利用xml动态生成带图标菜单