1. To realize the transparency of controls and backgrounds in C # WinForm, you can set their parent control by setting the control's BackColor property to Transparent. Because in C #, the transparency of the control refers to the transparency of the parent form. If you do not set the Parent property, the control will only be transparent to the form and will be displayed with the background color of the form (the default control) re-brushed again as its own background.
2. With more controls, you can use the Panel control to place a group of controls in a panel, and then set the background transparency only for this panel, and the other controls follow the background transparency.
Demo
With an existing PictureBox control, more than 10 labels, and a button, only these labels and buttons are placed in the panel. Also, add the following code to the Form_Load event to make the background transparent:
This.picturebox1.SendToBack ();//Place the background image at the bottom
This.panel1.BackColor = color.transparent;//Panel is set to transparent
This.panel1.Parent = this.picturebox1;//Sets the panel parent control as a background picture control
This.panel1.BringToFront ();//Put panel in front
The above code enables all controls to be transparent to the pictuebox background image.
Winform setting Panel container background is PictureBox