获得点击“通过”面板

时间:2011-05-21 22:58:37

标签: c# winforms click panel

我在窗体上放置了一个放在控件下的面板。我将使用该面板绘制从黑色到透明的渐变,以模拟从控件投射的阴影。但是,面板下方还有其他控件,面板将捕获其下方面板的咔嗒声。

如何让点击“通过”面板并转到其下面的面板?我宁愿不覆盖整个消息proc。我也对如何做阴影的其他建议持开放态度。

2 个答案:

答案 0 :(得分:1)

不幸的是,点击不会像这样(即如果你在表单上设置了一个点击处理程序并在其上放了一个按钮,当你点击按钮时,只有按钮点击处理程序被触发)。您可以做的是级联点击事件,如下所示:

topPanel_OnClick() { bottomPanel_OnClick(topPanel, EventArgs.Empty); }

显然会增加噪音,但它比点击的“下降”行为更好,这会引发一系列事件。

答案 1 :(得分:1)

在WPF中,您可以将IsHitTestVisible设置为false以完成您想要的操作,但是使用winforms,每个控件都有自己的窗口,因此您必须自己冒泡事件。