高分求解,十万火急,VB.net中窗体背景设置透明

时间:2021-09-26 13:58:23
高分求解,十万火急,VB.net中新建控件( 控件库)时怎样把窗体背景设置透明?
高分相送哦

16 个解决方案

#1


把窗体?
把哪个窗体?把控件还是把控件所在的窗体?

#2


你的窗体.Opacity = 83%;

#3


[img=http://xa.photo.store.qq.com/http_imgload.cgi?/rurl4_b=44695f10e9b8d4cc6c88ea560b893e25c58fc8e0806c4cf0d28523389918e357c6111f743dc0e62151931204787e70c7afc4eecf82a5b58ecf83438e5b8763529aa0e2895f5b55bbd27b15cef14dcacb0bdc0dfa][/img]

如上图,要将其背景设置透明,或者不要

#4


回帖子的网友别说me.Opacity = 83%之类的哈,因为这种只能在标准的窗体中才能设置,在自定义控件中没有Opacity属性

#5


用Opacity属性,1是完全不透明,0是完全透明。

#6


UserControl确实没有这个属性。

#7


知道的快回哦,答对了马上给分

#8



SetStyle(
               ControlStyles.UserPaint |
               ControlStyles.AllPaintingInWmPaint |
               ControlStyles.OptimizedDoubleBuffer |
               ControlStyles.SupportsTransparentBackColor |
               ControlStyles.Selectable |
               ControlStyles.ResizeRedraw, true);

看以前的这个帖子:
http://topic.csdn.net/u/20080621/17/9e99d4ef-cbe2-4746-8bb5-64b72784b600.html

#9


设置了BackColor好象就成透明了:

     private void InitializeComponent()
        {
            this.SuspendLayout();
            // 
            // ExampleControl
            // 
            this.BackColor = System.Drawing.Color.Transparent;
            this.Name = "ExampleControl";
            this.ResumeLayout(false);

        }

#10


不好使!!!

#11


在vb.net中根本不行

#12


窗体无法将背景设置为透明,用户控件可以通过:
this.SetStyle(SupportsTransparentBackColor, true);
this.UpdateStyle();
来开启

窗体的设置透明颜色只能达到50%效果,因为当图片的沿边有渐变色时,看起来就会很丑。

可以用API来实现,但窗体上的控件无法显示。
以前在做的时候是把按扭全部图片化了,利用鼠标的移动和按下来显示按扭图片的“指上去效果”和“按下效果”

#13


我使用c#在设计器中设置的,VB应该在这方面通用的,点UserControl面板,在属性中设置BackColor,选择Web选项卡中的Transparent(多么熟悉的名字),OK,透明了。

#14


引用 13 楼 pikapi 的回复:
我使用c#在设计器中设置的,VB应该在这方面通用的,点UserControl面板,在属性中设置BackColor,选择Web选项卡中的Transparent(多么熟悉的名字),OK,透明了。

能行吗,你运行试试看

#15


Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams 
    Get 
        Dim cParms As CreateParams = MyBase.CreateParams 
        cParms.ExStyle = cParms.ExStyle Or &H80000 
        ' WS_EX_LAYERED 
        Return cParms 
    End Get 
End Property 


粘上就行了

#16


粘到哪个地方呀?
好像要出错!!!

#1


把窗体?
把哪个窗体?把控件还是把控件所在的窗体?

#2


你的窗体.Opacity = 83%;

#3


[img=http://xa.photo.store.qq.com/http_imgload.cgi?/rurl4_b=44695f10e9b8d4cc6c88ea560b893e25c58fc8e0806c4cf0d28523389918e357c6111f743dc0e62151931204787e70c7afc4eecf82a5b58ecf83438e5b8763529aa0e2895f5b55bbd27b15cef14dcacb0bdc0dfa][/img]

如上图,要将其背景设置透明,或者不要

#4


回帖子的网友别说me.Opacity = 83%之类的哈,因为这种只能在标准的窗体中才能设置,在自定义控件中没有Opacity属性

#5


用Opacity属性,1是完全不透明,0是完全透明。

#6


UserControl确实没有这个属性。

#7


知道的快回哦,答对了马上给分

#8



SetStyle(
               ControlStyles.UserPaint |
               ControlStyles.AllPaintingInWmPaint |
               ControlStyles.OptimizedDoubleBuffer |
               ControlStyles.SupportsTransparentBackColor |
               ControlStyles.Selectable |
               ControlStyles.ResizeRedraw, true);

看以前的这个帖子:
http://topic.csdn.net/u/20080621/17/9e99d4ef-cbe2-4746-8bb5-64b72784b600.html

#9


设置了BackColor好象就成透明了:

     private void InitializeComponent()
        {
            this.SuspendLayout();
            // 
            // ExampleControl
            // 
            this.BackColor = System.Drawing.Color.Transparent;
            this.Name = "ExampleControl";
            this.ResumeLayout(false);

        }

#10


不好使!!!

#11


在vb.net中根本不行

#12


窗体无法将背景设置为透明,用户控件可以通过:
this.SetStyle(SupportsTransparentBackColor, true);
this.UpdateStyle();
来开启

窗体的设置透明颜色只能达到50%效果,因为当图片的沿边有渐变色时,看起来就会很丑。

可以用API来实现,但窗体上的控件无法显示。
以前在做的时候是把按扭全部图片化了,利用鼠标的移动和按下来显示按扭图片的“指上去效果”和“按下效果”

#13


我使用c#在设计器中设置的,VB应该在这方面通用的,点UserControl面板,在属性中设置BackColor,选择Web选项卡中的Transparent(多么熟悉的名字),OK,透明了。

#14


引用 13 楼 pikapi 的回复:
我使用c#在设计器中设置的,VB应该在这方面通用的,点UserControl面板,在属性中设置BackColor,选择Web选项卡中的Transparent(多么熟悉的名字),OK,透明了。

能行吗,你运行试试看

#15


Protected Overloads Overrides ReadOnly Property CreateParams() As CreateParams 
    Get 
        Dim cParms As CreateParams = MyBase.CreateParams 
        cParms.ExStyle = cParms.ExStyle Or &H80000 
        ' WS_EX_LAYERED 
        Return cParms 
    End Get 
End Property 


粘上就行了

#16


粘到哪个地方呀?
好像要出错!!!