Windows Forms的绘制框架是基于GDI+。我们知道GDI+是支持透明色的,也就是支持带有alpha的颜色。那为什么绝大部分控件不支持透明的背景颜色呢?这是Winforms受到了Win32 API的限制。
在Winforms的所有控件中,只有Form和ToolStripDropDown支持Opacity属性。当Opacity属性的值为0
Windows Forms的GDI+支持透明,但大部分控件不直接支持。Form和ToolStripDropDown可通过Opacity实现透明,因它们非子窗口。其他控件因使用WS_CHILD类型,无法直接支持。要使控件背景透明,需设置ControlStyles.SupportsTransparentBackColor和ControlStyles.UserPaint为true,自定义绘制。代码示例中展示了如何创建透明背景的TextBox。
Windows Forms的绘制框架是基于GDI+。我们知道GDI+是支持透明色的,也就是支持带有alpha的颜色。那为什么绝大部分控件不支持透明的背景颜色呢?这是Winforms受到了Win32 API的限制。
在Winforms的所有控件中,只有Form和ToolStripDropDown支持Opacity属性。当Opacity属性的值为0
522

被折叠的 条评论
为什么被折叠?