.Net 框架中对透明色有非常良好的支持,在 Color 类的构造函数中,即可传入表示透明度的 alpha 参数。
但是在继承与 System.Windows.Form.Control 的控件中,却无法设置 BackColor 的透明度,究其原因未知,但可以通过手段让它们完美支持透明。
在自定义继承与 System.Windows.Form.Control 类型的控件代码的构造函数里,添加控制 Windows 样式的代码如下:
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
上面这句代码就可以使控件可以支持透明颜色的背景,然后在设置背景颜色的时候,可以用透明度控制背景透明:
BackColor = Color.FromArgb(50, 40, 60, 82);
this.BackColor = Color.Transparent;
Color.FromArgb 方法的第一个参数就是透明值,取值 0-255 之间,后面三个参数是 RGB 颜色的分量。
原链接:http://hi.baidu.com/schwei730/item/c77473fbb718bcc5a935a2dd
很奇怪的是,TextBox无法使用SetStyle方法??
在网上找到了一个外国人写的解决方案.于是下载下来使用了一下,用这个控件可以实现Textbox的背景透明了.
alphablendtextbox的原地址:
http://www.codeproject.com/KB/edit/alphablendtextbox.aspx
这是另一个人写的设置Textbox背景透明的类
http://www.codeproject.com/KB/edit/AlphaBlendedTextControls.aspx?display=Print
浙公网安备 33010602011771号