回 帖 发 新 帖 刷新版面

主题:急问啊,达人帮帮我啊

我把一个picturebox放在form上,然后再在picture上加了一个label,如何只让label只显示文字呢?因为label是个长方形,把picturebox上的图片给挡住了,我的意思是想只显示几个字,不然的话图片上打了个补丁,很难看的。
我这样做:
label1.BackColor = Color.Transparent;
也不行啊
这样做:
label1.Parent = pictureBox1;
label1.BackColor = Color.Transparent;
就根本看不到label了。
label1.BackColor = Color.Transparent;
 pictureBox1.Controls.Add(label1);也看不到label的
究竟怎么样做啊?
达人帮帮我啊

回复列表 (共4个回复)

沙发

Label1.TransParent = True;

板凳

不好意思,是我搞错了。
Label1.BackStyle 
设为0 - TransParent

3 楼


哥们 ,还是不行啊

4 楼

label不可能透明,因为label也是绘制的,只是它是直接绘制在背景上(默认这个背景是窗体背景),当你把backcolor设置为透明时候,它只是没有了窗体的背景色,却又以其所在容器为背景,所以背景和文字无法分离开。
解决办法:在label的Paint事件了写如下代码.
private void label1_Paint(object sender,PaintEventArgs e)   
  {   
  this.label1.BackColor = Color.Transparent;   
  this.pictureBox1.Controls.Add(this.label1);   
  }
测试通过!

我来回复

您尚未登录,请登录后再回复。点此登录或注册