Form.Opacity Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the opacity level of the form.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public double Opacity { get; set; }

Property Value

Type: System.Double

The level of opacity for the form. The default is 1.00.

The Opacity property enables you to specify a level of transparency for the form and its controls. When this property is set to a value less than 100 percent (1.00), the entire form, including borders, is made more transparent. Setting this property to a value of 0 percent (0.00) makes the form completely invisible. You can use this property to provide different levels of transparency or to provide effects such as phasing a form in or out of view. For example, you can phase a form into view by setting the Opacity property to a value of 0 percent (0.00) and gradually increasing the value until it reaches 100 percent (1.00).

Opacity differs from the transparency provided by the TransparencyKey, which only makes a form and its controls completely transparent if they are the same color as the value specified in the TransparencyKey property.

This property is not supported when RightToLeftLayout is true.

The Opacity property depends on the Layered Windows API that was introduced with Windows 2000. For more information, see the "Layered Windows: A New Way to Use Translucency and Transparency Effects in Windows Applications" in the Platform SDK documentation at


Supports the Layered Windows API. This property has no effect on platforms that cannot display layered windows. In addition, some display drivers do not support layering.

The following code example demonstrates how to create a form that is displayed with an opacity level of 75 percent. The code example creates a new form that is positioned in the center of the screen with an Opacity property set to change the opacity level of the form. The code example also sets the Size property to provide a larger sized form than the default size of the form. This code example was written under the assumption that the method defined in this example is called from another form in an event handler or other method.

private void CreateMyOpaqueForm()
   // Create a new form.
   Form form2 = new Form();
   // Set the text displayed in the caption.
   form2.Text = "My Form";
   // Set the opacity to 75%.
   form2.Opacity = .75;
   // Size the form to be 300 pixels in height and width.
   form2.Size = new Size(300,300);
   // Display the form in the center of the screen.
   form2.StartPosition = FormStartPosition.CenterScreen;

   // Display the form as a modal dialog box.

.NET Framework
Available since 1.1
Return to top