【问题标题】:how to Paint non-client area in winForms transparent? .Net 4如何在winForms中透明地绘制非客户区? .Net 4
【发布时间】:2012-06-02 21:10:57
【问题描述】:

我正在开发一个自定义表单,我希望非客户区是透明的。我通过消息号“0x85”处理非客户区绘画,这是我迄今为止尝试过的:

  • 使用颜色“Color.Transparent”进行绘制 -> 非客户区被绘制为黑色。如果我使用红色或黑色或绿色的图像,它可以完美地工作,但透明 = 黑色
  • 创建了表格大小的透明图像,并使用了“myGraphics.DrawImage("img.png")”方法。背景仍然是黑色的。如果我使用红色或黑色或绿色的图像,它也可以完美地工作......
  • 不画任何东西(希望我只是保持透明)...没用

【问题讨论】:

    标签: winforms .net-4.0 transparency nonclient


    【解决方案1】:

    让窗口的某些部分透明需要硬件支持,这是一种称为分层的视频适配器功能。使用表单的 TransparencyKey 属性。将其设置为不寻常的颜色,例如 Color.Fuchsia。并使用该颜色进行绘制以使视频适配器省略像素。

    【讨论】:

      猜你喜欢
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 2010-09-11
      • 2011-07-12
      • 2020-03-07
      • 2011-06-16
      • 1970-01-01
      • 2012-04-19
      相关资源
      最近更新 更多