点击透明的Visual C#窗体窗体?

我做了一个面板,并将其设置为填充屏幕,现在我可以看到它下面的窗口,但我希望它是点击通过,这意味着他们可以单击文件或通过透明度看另一个对象的工具提示。

RE:这可能太明显了,但是您是否曾尝试通过右键单击并select“Send to Back”将面板发送回去?

我的意思是像桌面或火狐,而不是我的项目内的东西。

创build一个透明的顶级表单非常简单。 只需填充屏幕或所需区域,并将其定义为具有相同值的TransparenyKey颜色和BackColor。

让它忽略鼠标非常简单,你只需要重写WndProc并告诉WM_HITTEST所有的鼠标位置都被视为透明的。 从而使鼠标与窗口下面发生的任何事情交互。 像这样的东西…

protected override void WndProc(ref Message m) { if (m.Msg == (int)WM_NCHITTEST) m.Result = (IntPtr)HTTRANSPARENT; else base.WndProc(ref m); }