按钮/文本框的不透明度 - VB.NET

5

是否可以设置按钮或文本框的不透明度?我知道可以为表单设置不透明度,但对于按钮或文本框我不太确定。

8个回答

2

在WinForms中,没有办法设置任何控件的不透明度。只有窗体具有不透明度属性。 如果您想要使任何控件呈半透明状态,您将不得不从头开始实现整个控件,并且这很可能涉及将该控件绘制为其父级的图像。

您的另一种选择是使用WPF,它允许设置控件的不透明度。


0

只需在控件颜色的RGBA设置中设置Alpha级别。 代码将类似于以下内容:

Control.Backcolor = Color.FromArgb(255, 255, 255, 255)

传入 FromArgb 方法的第一个值是 Alpha 值。高值表示高不透明度,而低值表示高透明度。如果您还希望控件的 Forecolor 属性也是透明的,则可能需要进行设置。


Visual Basic 2008 中 RGBA 在哪里? - lab12
这种方法行不通。改变 alpha(第一个参数)没有任何影响。在列表框上测试了一个按钮。 - Victor Zakharov

0

不,透明度不是按钮属性,它是从表单设置继承的。我不知道除了使用一个淡化的按钮图像来“伪造”之外还有什么其他方法可以做到这一点。


0
在控件所在的表单上,将TransparencyKey设置为一种颜色(例如:Fuchsia),然后将控件的背景颜色设置为Fuchsia。不用谢。

不透明度和透明度不是同一概念。 - Victor Zakharov

0

我认为如果您在面板中放置一个按钮,您可以使其淡出。


0
我所做的是在Photoshop上编辑自己的按钮(必须是图像),然后将其不透明度降低。因此,一旦我将我的图像放在表单上(即我的按钮),它看起来就像我在其中应用了不透明度。就像这样:


-1
<asp:ImageButton ID="avbtn" runat="server" Height="55px" 
ImageUrl="~/images/avatar.jpg"                                             
onmouseout="this.style.opacity=0.7;this.filters.alpha.opacity=40" 
onmouseover="this.style.opacity=1;this.filters.alpha.opacity=100" 
style="opacity:0.4;filter:alpha(opacity=40)" />

这个代码在ImageButton上可以正常工作,但我还没有在其他控件上测试过。


1
我认为OP指的是Winforms。 - Victor Zakharov

-1

简单方法:通过转到其属性-背景颜色-任何,选择您想要使透明的文本框的随机颜色。然后来到源代码中找到您选择的颜色的颜色代码,写上 transparent,就完成了。 例如:

<asp:TextBox ID="TextBox1" 
 runat="server" **BackColor="transparent"** Height="55px" Width="498px"> </asp:Textbox>  

同样适用于VB。干杯!!!

他不想让它透明,只是改变不透明度。 - Dman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接