在VB6中的Label控件是可以设置背景透明的,是真正的透明。
而在C#里的Label设置背景透明后,只是Label的背景色和它所在容器的背景色相同而已。

解决方案 »

  1.   

    ...而在C#里的Label设置背景透明后,只是Label的背景色和它所在容器的背景色相同而已。 
    是这么回事。可以自己继承Control,或用下面继承Label的代码:class TransparentLabel : Label
    {
        protected override CreateParams CreateParams
        {
            get
            {
                this.SetStyle(ControlStyles.OptimizedDoubleBuffer, false);            const int WS_EX_TRANSPARENT = 0x20;
                CreateParams result = base.CreateParams;
                result.ExStyle = result.ExStyle | WS_EX_TRANSPARENT;
                return result;
            }
        }
        protected override void OnPaintBackground(PaintEventArgs pevent)
        {
            // do nothing
        }
    }
      

  2.   

    http://topic.csdn.net/u/20071227/14/abad6e6d-1f06-4b42-99f2-12af3c0210aa.html感觉有点和我以前问的一个问题一样,看我以前发的这个贴能不能解决你的问题。
      

  3.   

    this.label1.BackColor = Color.Transparent;
      

  4.   

    我照二楼的方法试了,确实实现了背景透明但是,我用的是动画gif图片,幻影好严重啊...怎么办... 我是FreameWork 2.0