C# Winform button transparent background with properties and code
Each control has a default background color(ControlLight) in Winform, and the button control also has this background color by default. If you don't want to change the beautiful background for the control, just use this default color.
The software is too simple and unattractive without appearance modification. The controls(such as Panel) that are generally used for layout must be added with a beautiful background, and the buttons need to be set with a transparent background to integrate into the background to form a complete and beautiful screen. Next, let's look at the setting method of button background transparency.
Setting method of C# Winform button transparent background
(1) Set with properties
1. Select the Button control and move the mouse to the "Properties" on the right to expand it, as shown in Figure 1:
If there is no "Properties" on the right, you can select the "View" menu → Properties window(Or right-click Button, select "Properties" in the pop-up menu), which will open the same window as Figure 1.
2. Click the drop-down box to the right of BackColor, select the "Web" tab, and then select Transparent as shown in Figure 1.
3. After setting the button background to transparent, it is still embossed, and then setting its style to Flat or Popup will no longer display the default style, that is, it is no longer possible to see if it is a button.
4. Find the FlatStyle property and set it to Flat or Popup, as shown in Figure 2:
The button is transparent, as shown in Figure 3:
(2) Set with code
To set Button transparent with code, you need to set the style to Flat or Popup. The border of Button can be set to 0. Its MouseDownBackColor and MouseOverBackColor can also be set to transparent. The code is as follows:
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;
(3) Set all Button backgrounds to transparent
Just use a loop to find all Buttons and set them with the ButtonTransparent method above. The code is as follows:
public void AllButtonsTransparent()
foreach (Control ctrl in this.Controls)
if (ctrl is Button)
- ie compatibility view settings, with resolving unsav
- C# label control, with winforms label transparent ba
- C# Winforms textbox focus(2 methods)
- C# Windows Forms foreach controls, with Textbox and
- C# Winforms panel border, with color, style, thickne
- How to create Excel dynamic chart with option button
- C# Winforms listview show table(adaptive column widt