0

我有一个 Windows 窗体应用程序,我希望能够在用户执行特定操作时显示“便利贴”类型的东西。

例如:用户做了一些自动隐藏控件的操作。

我的应用程序应该: o 弹出一个便条,解释发生了什么。o 当用户单击表单上的任意位置时,再次隐藏 post it note。

我已经将便笺实现为一个带有标签的简单面板,当特定事情发生时它会显示和隐藏。

但是,我似乎无法捕获父 UserControl 的 OnClick 事件。父控件是一个嵌套控件,包含一个拆分容器,其中一侧包含面板和一个选项卡控件,每个控件都包含一个用户控件,其中包含各种内容。

除了处理每个子控件的单击事件之外,任何人都可以想到我可以在父控件上捕获的事件,当用户单击父控件中的任何位置时,我可以使用它来隐藏便笺?

谢谢,里克

4

2 回答 2

5

这就是 Capture 属性的设计目的。弹出注释时将其设置为true 。现在,任何鼠标事件都将被定向到您的控件,即使鼠标移出窗口也是如此。这也是例如组合框下拉列表的工作方式。请记住,它仅适用于单击一次。

如果弹出窗口本身包含任何控件,则鼠标捕获不是解决方案。改为使其成为拥有的表单,只需在 Deactivate 事件的事件处理程序中调用 Close()。

于 2012-04-20T11:00:51.717 回答
-1

Windows窗体中的事件冒泡,当您单击子事件时,会为子事件引发事件,然后为父事件引发事件。除非您将“handleEvnet”属性指定为 true。因此,只需将其保留为假,直到事件到达父级。

于 2012-04-20T09:57:41.387 回答