这个东西怎么可能会有系统的标准实现呢? 实际的情况是千变万化的。在MenuItem的Popup事件中,来根据条件判断禁用或启用某菜单项。比如一个画图程序,在Popup事件中,你可以检查,当前客户区中是否选中了图像,如果有,就启用剪切,粘贴,同时检查剪切板中是否有某种支持的图像格式,如果有就启用粘贴菜单。如果是字处理,那就要换成检查文本,或RTF。。如果是自己开发的窗口设计器,那就要检查自定义的格式。
解决方案 »
- 有哪位大牛用过FiddlerCore。。 求教
- C# 怎么把 2012/4/12 0:00:00 变成 2012-04-12 ?
- 水晶报表数据显示问题
- 如何在MouseMove事件中获得control上某个点的颜色值?
- .NET网络编程方面的书,大家给介绍一本吧 谢谢!
- Combobox
- 程序员基本问题:正则表达式?内存池?回调?钩子?句柄?red black tree?.net的程序集?
- 想抛出异常,把错误显示到出错网页上来
- 如何同时获取并返回select语句两个字段的值?
- 这里的高手是不是不屑回答简单的阿,我问的问题都没啥反映的?再问个thread的问题:(
- 一夜未宿:如何在datagrid(winform)中动态增加具有可自定义类型的列??
- WindowsService 的timer控件注册不了Elapsed事件,怎么办?
现在在c#中如何实现呢?
如果自己写代码的话,需要对每个子窗口的每个编辑控件进行跟踪,那要郁闷死的
richTextBox.CanRedo();
RichTextBox.CanPaste();
-----------------------------------
如果是一般的编辑控件,比如:textBox,comboBox,这些就不用了,这些控件在运行时单击右键,系统会自动弹出编辑菜单的!!!
private void EditItem_Select(object sender, System.EventArgs e)
{
MenuItem[] items=new MenuItem[contextMenu1.MenuItems.Count];
contextMenu1.MenuItems.CopyTo(items,0);
EditItem.MenuItems.AddRange(items);
}//不过这样的话,在contextMenu1_Popup事件中写相应的代码,因为什么的代码是把
//contextMenu1的子菜单转到EditItem,转后contextMenu1就没有子菜单了,又要从
//edititem转过来,这样是比较麻烦的,最好就自己多做一些edititem的子菜单啦。
//让contextmenul的子菜单与edititem子菜单的事件关联就行了