程序开发 > C# > Winform > 正文

C# Winform button与label背景透明

亮术网 2020-07-15 本网原创

在 Winform 中,每个控件都有默认的背景颜色(ControlLight),button与label控件默认也是这个背景色。如果不为控件换漂亮的背景,用这个默认颜色就可以了。

软件不做外观修饰显得太朴素了点,不够美观,一般用于布局的控件(如 Panel)都要加漂亮的背景,而button与label这些控件需要设置背景透明,以融入背景中形成完整漂亮的画面。接下来就看label与button背景透明的设置方法。

 

一、C# Winform button背景透明设置方法

(1)用属性设置

1、选中 Button控件,移动鼠标到右边的“属性”上展开它,如图1所示:

C# Winform button背景透明

图1

如果右边没有“属性”,可以选择“视图”菜单 → 属性窗口(或右键 Button,在弹出的菜单中选择“属性”),会打开跟图1一样的窗口。

2、单击 BackColor 右边的下拉框,选择“Web”选项卡,再选择 Transparent见图1。

 

3、把 button背景设置为透明后,button 还是浮雕型,再将其样式设置为 Flat 或 Popup 就不会再显示按钮的默认样式,即不再能看出是不是按钮。

4、找到 FlatStyle 属性,把它设置为 Flat 或 Popup,如图2所示:

button背景透明 BackColor

图2

5、button 已透明,如图3所示:

button FlatStyle 背景透明

图3

 

(2)用代码设置

用代码设置 Button 背景透明需要把样式设置为 Flat 或 Popup,Button 的边框可以设置为 0,MouseDownBackColor 和 MouseOverBackColor 也可以设置为透明,代码如下:

public void ButtonTransparent(Button btn)
  {
    btn.FlatStyle = FlatStyle.Flat;
    btn.BackColor = Color.Transparent;
    btn.FlatAppearance.BorderSize = 0;
    btn.FlatAppearance.MouseDownBackColor = Color.Transparent;
    btn.FlatAppearance.MouseOverBackColor = Color.Transparent;
  }

调用:ButtonTransparent(button1);

 

(3)把所有 Button 背景设置为透明

只需用一个循环找出所有 Button,用上面的 ButtonTransparent 方法设置即可,代码如下:

public void AllButtonsTransparent()
  {
    foreach (Control ctrl in this.Controls)
    {
      if (ctrl is Button)
      {
        ButtonTransparent((Button)ctrl);
      }
    }
  }

调用:AllButtonsTransparent();

 

 

二、C# label透明设置方法

label透明的设置步骤与 button 大致相同,不过不需要把 FlatStyle 设置为 Flat 或 Popup 也会透明,想设置也可行。label背景透明设置步骤如下:

1、选中要设置的 label,展开右边的“属性”窗口,找到 BackColor 属性,点击其右边的下拉框,选择 Web 选项卡 → Transparent,如图4所示:

C# label透明

图4

2、此时,label 已经透明,如图5所示:

label透明背景透明

图5

3、如果想把 FlatStyle 属性设置为 Flat 或 Popup,找到它,选择 Flat 或 Popup 即可。

 

上边虽然只介绍了 button 与 label 设置背景透明的方法,但其它控件设置方法也是一样的,按照上述步骤操作即可。