处理MouseUp、MouseDown 事件并不需要X,Y坐标呀,再说这么小一个NotifyIcon,不会还要根据点击的位置不同进行不同的处理吧,还没有见过这样的NotifyIcon

解决方案 »

  1.   

    Control.MousePosition阿扁兄,你取这个有必要吗?
      

  2.   

    NotifyIcon 在内部处理的时候,肯定会有正确的鼠标屏幕坐标,只是没有公开这些接口。不然它的 ContextMenu 弹出的位置就不能保证了。另外,可能 yqdeng(享受生活每一天) 的想像力不够丰富,其实在应用及屏幕的每一个地方都可以有文章可做。我的真实意图是要显示一个菜单,但这个弹出菜单类是我自己设计定义,不能简单通过 ContextMenu 属性来绑定。我也知道 MenuItem 可以 OwnerDraw,但目前并不打算用这种对于我而言是无奈的方式。因为我的弹出菜单可以绑定任何控件,包括 TextBox、Label、ComboBox、ProgressBar、TrackBar 等一些高度在 20 左右的控件,以及其他一些特殊的外观效果。解决它的办法,我想可以通过某些 API 函数来获取“状态通知区域” 或 该“NotifyIcon”的屏幕位置,这样我就可以 NotifyIcon 的附近来显示这个弹出菜单。请问,我可以用哪些 API 函数?请 “思归”、“班门斧”等斑竹们来指点一下。
      

  3.   

    To AhBian (阿扁):
    我还是不明白你为什么非要去取得什么坐标,其实只需要在MouseUp、MouseDown去做文章就足够了。甚至我认为将一个WinForm做成一个类似右键菜单都可以完成你的要求,而且这很容易。
      

  4.   

    这个例子可以解决你的问题,起码我是这么理解,阿扁兄。http://www.codeproject.com/csharp/notifyballoon.asp?target=notify