相关疑难解决方法(0)

父控制鼠标使用子控件输入/离开事件

我有一个C#.NET 2.0 WinForms应用程序.我的应用程序有一个控件,它是两个子控件的容器:标签和某种编辑控件.您可以这样想,外框是父控件:

+---------------------------------+ 
| [Label Control]  [Edit Control] |
+---------------------------------+

我试图在鼠标进入或离开父控件时执行某些操作,但我不在乎鼠标是否移动到其中一个子控件中.我想要一个标志来表示"鼠标在父或子的内部"和"鼠标移动到父控件边界之外".

我已尝试在父控件和两个子控件上处理MouseEnter和MouseLeave,但这意味着当鼠标在控件上移动时,操作会多次开始和结束.换句话说,我明白了:

Parent.OnMouseEnter      (start doing something)
Parent.OnMouseLeave      (stop)
Child.OnMouseEnter       (start doing something)
Child.OnMouseLeave       (stop)
Parent.OnMouseEnter      (start doing something)
Parent.OnMouseLeave      (stop)

中间的OnMouseLeave事件会导致一些不良影响,因为我正在做的事情开始然后停止.我想避免这种情况.

我不想捕获鼠标,因为父控件需要鼠标移动,因为子控件需要鼠标事件,我想要菜单和其他快捷键才能工作.

有没有办法在.NET框架内执行此操作?或者我需要使用Windows鼠标挂钩?

.net c# mouse events winforms

21
推荐指数
3
解决办法
2万
查看次数

在C#中的面板内的任何位置处理click事件

我的表单中有一个面板,带有一个单击事件处理程序.我还在面板内部有一些其他控件(标签,其他面板等).如果您单击面板内的任何位置,我希望单击事件进行注册.只要我没有单击面板内的任何控件,click事件就会起作用,但无论你在面板内单击什么位置,我都想触发事件.如果没有向面板内的所有控件添加相同的单击事件,这是否可行?

c# winforms

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×2

winforms ×2

.net ×1

events ×1

mouse ×1