1

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

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

1 回答 1

1

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

于 2012-05-28T14:17:25.633 回答