The question is not new, it has already been raised on the hashcode, this was the answer:

this.FormBorderStyle = FormBorderStyle.None; this.AllowTransparency = true; this.BackColor = Color.AliceBlue;//цвет фона this.TransparencyKey = this.BackColor;//он же будет заменен на прозрачный цвет 

but it makes the form completely transparent, and I only need the inside to be transparent, and the rest (header and borders) is not.

How to do this trick?

    1 answer 1

    Here is the code

     this.FormBorderStyle = FormBorderStyle.None; 

    hides the border and window title. Remove it and get a transparent window with a caption and borders.

    Form.FormBorderStyle Property

    The style of the border of the form determines the way of displaying its outer edge. Border style can also affect the size and availability of a section of a form's title bar.

    FormBorderStyle - enumeration

    Sets the styles of the borders of the form. This enum is used by the Form class. It provides various styles of form. The default style is Sizable .