设置控件的透明度默认情况下,控件不支持透明背景色。但是,通过使用构造函数中的 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 方法创建半透明颜色。

解决方案 »

  1.   


    sunyou(砂子),    详细!
      

  2.   

    谢谢sunyou(砂子),但窗体上有其它控件的时候怎么办,我试了不行,就是一个picturebox放到另一个picturebox上时就不行。怎么办?aquahalo(蛐蛐)你呢?知道不?
      

  3.   

    看了很多资料了。都没有结果,好像。NET做不到这个功能。它的透明都是对于背景图来说的。
      

  4.   

    你要重载你那个控件的paint方法,然后按你想的去画
    protected override void OnPaint(PaintEventArgs e)
    {
    //base.OnPaint (e);
    }
    protected override void OnPaintBackground(PaintEventArgs pevent)
    {
    //base.OnPaintBackground (pevent);
    }
      

  5.   

    to the123 也没有用。如果二个控件相覆盖,在下面的控件还是还不到。背景图倒是能看到的。晕,我已经试过很多方法了。都没有用。难到.net里就有能实现控件半透明?