请问在VB.net中怎样实现控件具有透明背景?

MissileCat 2002-11-17 08:54:26
在vb6中自定义控件有一个BackStyle属性可以使控件透明,在Vb.net中自定义控件中这一功能被取消了,我怎样才可以实现这一功能,不会是版本升级了,功能却变小了吧,在vb6中的image控件放入透明gif图片就可以模拟一些在工具栏的按纽的按纽,现在的vb.net好象不提供image控件,用它的PICTURE控件放GIF图片进去,就算是透明的GIF图片,它的背景都不透明,这个问题令我很烦恼,我在VB6中的几个程序想移植到VB.NET中,但需要以上功能的支持,有那位大侠可以指点一二,先行谢过!
...全文
652 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tgx 2002-12-01
  • 打赏
  • 举报
回复
默认情况下,控件不支持透明背景色。但是,通过使用构造函数中的 Control.SetStyle 方法,可以让控件拥有不透明、透明或半透明的背景色。SetStyle 方法是 Control 类的用于为控件设置特定的样式首选项的方法,并可用来启用或禁用对透明背景色的支持。

使控件拥有透明背景色

在控件的代码编辑器中找到构造函数。
在构造函数中调用窗体的 SetStyle。
' Visual Basic
SetStyle(ControlStyles.SupportsTransparentBackColor, True)

// C#
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
这将使控件能够支持透明背景色。

在步骤 1 中添加的代码行下再添加下面的代码行。这将把控件的 BackColor 设置为 Transparent。
' Visual Basic
Me.BackColor = Color.Transparent

// C#
this.BackColor = Color.Transparent;
注意,还可以通过使用 Color.FromArgb 方法创建半透明颜色。有关颜色的更多信息,请参阅笔、画笔和颜色。

Donmi 2002-11-17
  • 打赏
  • 举报
回复
将控件的背景色设为透明即可:
如Label1.BackColor=Color.Transparent
PictureBox1.BackColor=Color.Transparent
当然,还有别的方式可使底色透明,你自已琢磨一下。
MissileCat 2002-11-17
  • 打赏
  • 举报
回复
那么自定义控件可不可以设VB6的Maskpicture属性?
V
Latitude 2002-11-17
  • 打赏
  • 举报
回复
还有一点要注意:
比如你想在picturebox1上放一个透明的label1,就不光要:
Label1.BackColor=Color.Transparent
还要加一句:
Label1.Parent=PictureBox1
表示label1是加在picturebox1上的,不这样写,它的背景色会与Form同色,因为默认的是label1.parent=me

---
by Henry

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧