获得点击以“落入”面板

本文关键字:落入 面板 | 更新日期: 2023-09-27 17:57:06

我在窗体上有一个面板,该面板位于控件下。我将使用该面板绘制从黑色到透明的渐变,以模拟从控件投射的阴影。但是,面板下方将有其他控件,并且面板将捕获针对其下方面板的单击。

如何让点击"穿过"面板并转到其下方的面板?我宁愿不覆盖整个消息过程。我也愿意接受关于如何做阴影的其他建议。

获得点击以“落入”面板

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

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

显然会增加噪音,但它比点击的"下降"行为要好得多,点击会触发一系列事件。

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