[SharpDevelop]菜单状态更新
方式一
在Idle方法中更新
void OnApplicationIdle(object sender, EventArgs e)
{
// Use the Idle event to update the status of menu and toolbar.
// Depending on your application and the number of menu items with complex conditions,
// you might want to update the status less frequently.
UpdateMenuItemStatus();
} /// <summary>Update Enabled/Visible state of items in the main menu based on conditions</summary>
void UpdateMenuItemStatus()
{
foreach (ToolStripItem item in menu.Items) {
if (item is IStatusUpdate)
(item as IStatusUpdate).UpdateStatus();
}
}
方式二
sealed class DefaultWorkbench : Form, IWorkbench
通过一个Timer来更新
toolbarUpdateTimer = new System.Windows.Forms.Timer();
toolbarUpdateTimer.Tick += new EventHandler(UpdateMenu);
void UpdateMenu(object sender, EventArgs e)
{
UpdateMenus();
UpdateToolbars();
} void UpdateMenus()
{
// update menu
foreach (object o in TopMenu.Items) {
if (o is IStatusUpdate) {
((IStatusUpdate)o).UpdateStatus();
}
}
} void UpdateToolbars()
{
if (ToolBars != null) {
foreach (ToolStrip toolStrip in ToolBars) {
ToolbarService.UpdateToolbar(toolStrip);
}
}
}
方式三
sealed partial class WpfWorkbench : FullScreenEnabledWindow, IWorkbench, System.Windows.Forms.IWin32Window
requerySuggestedEventHandler = new EventHandler(CommandManager_RequerySuggested);
CommandManager.RequerySuggested += requerySuggestedEventHandler;
EventHandler requerySuggestedEventHandler; void CommandManager_RequerySuggested(object sender, EventArgs e)
{
UpdateMenu();
}
void UpdateMenu()
{
MenuService.UpdateStatus(mainMenu.ItemsSource);
foreach (ToolBar tb in toolBars)
{
ToolBarService.UpdateStatus(tb.ItemsSource);
}
}
[SharpDevelop]菜单状态更新的更多相关文章
- Spark Streaming带状态更新
带状态的更新是使用的updateStateByKey方法,里面传入一个函数,函数要自己写,注意需要设置checkpoint import org.apache.spark.streaming.kafk ...
- Java问题记录——循环里的二次判断与状态更新
Java问题记录——循环里的二次判断与状态更新 摘要:本文主要记录了在循环操作时可能出现的问题. 问题重现 在使用循环结构时,如果使用了定时任务,或者代码会多次调用循环结构,可能会导致有些对象会被循环 ...
- spark 笔记 13: 再看DAGScheduler,stage状态更新流程
当某个task完成后,某个shuffle Stage X可能已完成,那么就可能会一些仅依赖Stage X的Stage现在可以执行了,所以要有响应task完成的状态更新流程. ============= ...
- React报错之无法在未挂载的组件上执行React状态更新
正文从这开始~ 总览 为了解决"Warning: Can't perform a React state update on an unmounted component" ,可以 ...
- Bootstrap系列 -- 28. 下拉菜单状态
下拉菜单项的默认的状态(不用设置)有悬浮状态(:hover)和焦点状态(:focus). 下拉菜单项除了上面两种状态,还有当前状态(.active)和禁用状态(.disabled).这两种状态使用方法 ...
- 短时间内多个请求状态更新,导致react 不能及时响应问题总结
个人总结 这段时间项目中遇到这样一个问题,旧项目中增加了一个聊天对话的模块,这是其他同学负责的部分,因为要有消息提醒,所以做了个轮询.消息提示因为是页头部分,所以每个模块都会引用到.这是背景. 现象 ...
- [状态更新]MSE三个月快速复习计划,成功考上复旦软工
最后更新,6月21日收到录取通知书啦,感谢当初不曾放弃的自己: 更新一下状态: 3.3日 分数出来了,过了复试线. 最初写这篇博客的时候,是希望自己能够每天或者至少每周更新下自己的复习状态,这样能够确 ...
- 关于STM32F103+ESP8266+阿里云过程之设备状态更新至阿里云(三)
设备与阿里云完成发布订阅的功能,接下来就是将设备状态如温湿度,PM2.5值上报更新至阿里云. 1.查看Topic. 在阿里云平台上 设备->Topic列表中查看.在产品中也可以看到对应的Topi ...
- vue+el-menu实现路由刷新和导航栏菜单状态保持(局部刷新页面)
一.菜单项激活状态保持 有时,我们在项目中会有这样一个需求,即实现 一个侧导航栏,点击不同的菜单项,右边内容会跟着变化,而页面手动刷新后想要使菜单激活状态保持,那么这个功能该如何实现呢? 现在给出以下 ...
随机推荐
- 《GK101任意波发生器》升级固件发布(版本:1.0.2build306)
一.固件说明: 硬件版本:0,logic.3 固件版本:1.0.2.build306 编译日期:2014-09-24 ====================================== 二. ...
- jQuery 判断多个 input file 都不能为空
例如有两个图片上传的 input,都必须上传图片: html 选择文件 1 :<input type="file" name="myfile[]" cla ...
- pycharm使用笔记
Basic code completion (the name of any class, method or variable) control + 空格 # 代码补全,如果跟系统spotligh ...
- css修改,类似elememt.style样式修改
使用!important 语法优先权. .yui-b { margin-left:0px ! important; }
- Ruby--Array
--后面连接其它数组:[ARRAY].concat([OTHER ARRAY]) --排序:sort,进阶:sort_by{|obj| obj.[VALUE]} --随机获取:[ARRAY].samp ...
- DML以及DQL的使用方法
DML:数据操作语言 1.插入insert into 单行插入:insert into 表名 (字段名, 字段名,...) values (值, 值, ...) 注:值列表要和字段列表相匹配. ins ...
- php数据库两个关联大表的大数组分页处理,防止内存溢出
$ret = self::$db->select($tables, $fields, $where, $bind); if (!empty($ret)) { $retIds = array(); ...
- IIS8中部署WCF服务出错:HTTP 错误 404.3 - Not Found
解决方法,以管理员身份进入命令行模式,运行: "%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ ...
- ArcGIS Engine开发之旅05---空间数据库
原文:ArcGIS Engine开发之旅05---空间数据库 1 Geodatabase概念 Geodatabase是ArcInfo8引入的一种全新的面向对象的空间数据模型,是建立在DBMS之上的统 ...
- Anacodna之conda与 virtualenv对比使用教程,创建虚拟环境
conda创建虚拟环境 1.查看包 conda list查看安装了哪些包 conda env list查看有哪些虚拟环境 conda -V查看conda的版本 2.创建虚拟环境,命名为myflaska ...