日期:2014-05-17  浏览次数:20780 次

label设置背景为透明?
如图所示,label的背景色无法变成透明的。。。是因为那个菜单控件背景图的原因。。。label放到哪就不行。。。放到别的地方就是背景透明。。。该怎么设置啊?

部分代码如下:
// label1
            // 
            this.label1.AutoSize = true;
            this.label1.BackColor = System.Drawing.Color.Transparent;
            this.label1.Location = new System.Drawing.Point(493, 6);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(53, 12);
            this.label1.TabIndex = 2;
            this.label1.Text = "用户名:";
            // 
            // labelUsername
            // 
            this.labelUsername.AutoSize = true;
            this.labelUsername.BackColor = System.Drawing.Color.Transparent;
            this.labelUsername.Location = new System.Drawing.Point(552, 6);
            this.labelUsername.Name = "labelUsername";
            this.labelUsername.Size = new System.Drawing.Size(35, 12);
            this.labelUsername.TabIndex = 3;
            this.labelUsername.Text = "     ";

------解决方案--------------------
把backColor设置成 control试下。。。
------解决方案--------------------
label1.Parent=菜单;
------解决方案--------------------
加一个 panel 子控件相对 panel透明 http://blog.csdn.net/renyouprince/article/details/3774170
------解决方案--------------------
无法实现,这个需求不合逻辑:Label重绘时必须清除自身所占的区域以避免花屏,根据指定的颜色当然最简单,设置成透明请父控件帮助重绘也说的过去,但要求和自身无关的控件(楼主的需求中的toolbar)帮自己重绘是不可能的,它很难知道自己在屏幕上的位置下边是谁。