【问题标题】:Transparent Form with Visible Clickable Controls in it带有可见可点击控件的透明表单
【发布时间】:2015-12-31 10:40:58
【问题描述】:

我正在尝试在 win8 和 winforms 中制作一个鼠标透明表单,其中包含可点击的控件。

我可以使用此代码使表单鼠标透明

int initialStyle = GetWindowLong(this.Handle, -20);
SetWindowLong(this.Handle, -20, initialStyle | 0x80000 | 0x20);

(在 win8 上,WndProc 方法不起作用)

但是当我让窗体鼠标透明时,这个窗体中包含的控件也是鼠标透明的

我能做什么?

【问题讨论】:

  • “鼠标透明”是什么意思?
  • 我的意思是鼠标事件会“通过”表单到它后面的任何地方

标签: c# winforms windows-8 windows-8.1 setwindowlong


【解决方案1】:

您可以创建一个表单并将BackColorTransparencyKey 属性设置为Color.Magenta

截图:

点击通过窗口到达它后面的东西,但是你点击按钮1,按钮将被点击。

注意: 该技巧适用于某些颜色,例如,如果您使用 Color.Red,它将是透明的,但可以处理点击,但使用 Magenta,表单也将是鼠标透明的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 2011-02-17
    相关资源
    最近更新 更多