首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

ContextMenuStrip的有关问题~ 有熟的请进~路过的高手也请进

2012-03-07 
ContextMenuStrip的问题~ 有熟的请进~路过的高手也请进我自己写一个右键菜单用在另外的应用程序上,使用了C

ContextMenuStrip的问题~ 有熟的请进~路过的高手也请进
我自己写一个右键菜单用在另外的应用程序上,使用了ContextMenuStrip控件,菜单因为是要跟着鼠标走,所以用contextMenuStrip1.Show(new Point(x, y))来打开,但是菜单打开后发现了两个问题:

一、打开一级菜单,任务栏上就出现一个最小化的按钮,进而打开二级菜单,就又出现一个最小化按钮,就好像是打开了窗口一样,有没有朋友知道如何取消
二、因为不是在母窗口内显示右键菜单,其一个结果是点击桌面空白的部分无法关闭菜单,我偿试用鼠标HOOK来监视左键,如果点击左键就关掉右键菜单,那么就无法在菜单中进行选择的操作了,因为最后选定也是要点击左键的。所以必须判断鼠标是否在菜单上~ 但是一级菜单可以固定,但是显示子菜单时,菜单的范围就会发生变化,所以要实时查找ContextMenuStrip控件中显示的子菜单,如何进行这种查找呢?我查了MSDN ContextMenuStrip好像没有提供查找子对象的方法.

[解决办法]
你在主窗体加了NotifyIcon控件了?
在打开菜单时,是否实例化了主窗体对象?
每实例化一次就会在右下角出现一个NotifyIcon。。。
我猜是这样的。。。

第二个问题可能帮不上:
不过你为何不在窗体失去焦点关闭菜单呢?
[解决办法]
第一个问题应该是你的NotifyIcon在每一次打开时都进行调用造成的

热点排行