Winform 怎么设置控件的背景透名

tiandiyuzhou1 2011-11-02 11:58:16
Progress控件显示进度条
我在上面放了个label,设置了label的backColor为Transparent
可是还是不行,该怎么设置?
...全文
204 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiandiyuzhou1 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 gomoku 的回复:]
C# code

class PercentageProgressBar : ProgressBar
{
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
const int WM_PAINT = 15;
if (m.Msg ==……
[/Quote]谢谢你的方法,直接画在上面不会出现上面那个问题。
不过同样的代码,百分比显示不同,画在上面的进度会比较慢,不及时,而且当我处理完后进度没有显示100%,才显示94%。而如果直接设置label可以显示100%.
tiandiyuzhou1 2011-11-07
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 cheeks 的回复:]
C# code

//frmLogin_Load 在窗体载入的时候写一下代码 应该可以实现的 我就这样做的
this.label1.BackColor = Color.Transparent;
this.pictureBox1.Controls.Add(this.label1);
[/Quote]可是你的这个picturebox背景色原本是灰色的。
而那个进度条默认是灰色的,可是那个进度,是蓝色的

cheeks 2011-11-04
  • 打赏
  • 举报
回复

//frmLogin_Load 在窗体载入的时候写一下代码 应该可以实现的 我就这样做的
this.label1.BackColor = Color.Transparent;
this.pictureBox1.Controls.Add(this.label1);
卧_槽 2011-11-04
  • 打赏
  • 举报
回复
不拖的时候需要父容器控件的controls.add方法加入,才会显示。

具体去看看form1.design.cs类。
allen0118 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 cheeks 的回复:]
C# code

//frmLogin_Load 在窗体载入的时候写一下代码 应该可以实现的 我就这样做的
this.label1.BackColor = Color.Transparent;
this.pictureBox1.Controls.Add(this.label1);
[/Quote]

+1
heli_1005 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jiahailin521 的回复:]
backColor为Transparent
是什么意思?
[/Quote]

背景色设置为透明
mjp1234airen4385 2011-11-02
  • 打赏
  • 举报
回复
可以使用4楼的办法。
或者,自己定义一个控件也不复杂,从panel继承一下,设置背景色,再中间画个文字,想怎么画,就怎么画。
gomoku 2011-11-02
  • 打赏
  • 举报
回复

class PercentageProgressBar : ProgressBar
{
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
const int WM_PAINT = 15;
if (m.Msg == WM_PAINT && this.Value > 0 && this.Maximum > 0)
{
using (Graphics g = this.CreateGraphics())
{
string percentage = string.Format("{0:P2}", (float)this.Value / this.Maximum);
StringFormat sf = new StringFormat();
sf.Alignment = sf.LineAlignment = StringAlignment.Center;
g.DrawString(percentage, SystemFonts.DefaultFont, Brushes.Black, this.ClientRectangle, sf);
}
}
}
}
  • 打赏
  • 举报
回复

Label1.BackColor=Color.Transparent
Label1.Parent = this.pictureBox1;

i贾小林 2011-11-02
  • 打赏
  • 举报
回复
backColor为Transparent
是什么意思?
tiandiyuzhou1 2011-11-02
  • 打赏
  • 举报
回复
zhuhuailei 2011-11-02
  • 打赏
  • 举报
回复
哦,明白~
不拖的时候怎么用啊?
是不是在load里面声明这个类的一个对象?然后设置属性啊?
刚才我试了啊。。但是没显示出来啊~(⊙o⊙)~[Quote=引用 11 楼 yuwenge 的回复:]
引用 9 楼 zhuhuailei 的回复:

你好,我想问一下啊~
PercentageProgressBar 类继承了了ProgressBar,说明它有了ProgressBar所有的功能对吧
但是这个类怎么用呢?感觉Progressbar是一个实体控件,拖上来就可以用。
但是这个类怎么用呢?引用 4 楼 gomoku 的回复:
C# code


class Percenta……
[/Quote]
卧_槽 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhuhuailei 的回复:]

你好,我想问一下啊~
PercentageProgressBar 类继承了了ProgressBar,说明它有了ProgressBar所有的功能对吧
但是这个类怎么用呢?感觉Progressbar是一个实体控件,拖上来就可以用。
但是这个类怎么用呢?引用 4 楼 gomoku 的回复:
C# code


class PercentageProgressBar : ProgressB……
[/Quote]
写好之后编译,编译通过了工具箱就会有,拖上去用就是了。


ps:难道控件不能拖,你就不会用了?
Just4life 2011-11-02
  • 打赏
  • 举报
回复
我觉得自己定义一个控件比较好哈

不过我看了4楼的的代码,应该可行呀
zhuhuailei 2011-11-02
  • 打赏
  • 举报
回复
你好,我想问一下啊~
PercentageProgressBar 类继承了了ProgressBar,说明它有了ProgressBar所有的功能对吧
但是这个类怎么用呢?感觉Progressbar是一个实体控件,拖上来就可以用。
但是这个类怎么用呢?[Quote=引用 4 楼 gomoku 的回复:]
C# code


class PercentageProgressBar : ProgressBar
{
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
const int WM_PAINT = 15;
if (m.Msg ……
[/Quote]
tiandiyuzhou1 2011-11-02
  • 打赏
  • 举报
回复
谢谢4,5楼的
在看下是否有其他方法。
tiandiyuzhou1 2011-11-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 return_false 的回复:]
C# code

Label1.BackColor=Color.Transparent
Label1.Parent = this.pictureBox1;
[/Quote]
这个估计是网上看来的= =#
设置了不行。
没头没尾的,也没说下picturebox1放哪,还要设置什么。

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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