This documentation is archived and is not being maintained.

Form.Modal Property

Gets a value indicating whether this form is displayed modally.

[Visual Basic]
Public ReadOnly Property Modal As Boolean
public bool Modal {get;}
public: __property bool get_Modal();
public function get Modal() : Boolean;

Property Value

true if the form is displayed modally; otherwise, false.


When a form is displayed modally, no input (keyboard or mouse click) can occur except to objects on the modal form. The program must hide or close a modal form (usually in response to some user action) before input to another form can occur. Forms that are displayed modally are typically used as dialog boxes in an application.

You can use this property to determine whether a form that you have obtained from a method or property has been displayed modally.

To display a form modally use the ShowDialog method.


[Visual Basic, C#, C++] The following code example uses the Modal property to determine if a form is displayed as a modal form. If it is not the FormBorderStyle and TopLevel properties are changed to make the form a non-top-level form with a tool window border.

[Visual Basic] 
Private Sub ShowMyNonModalForm()
    Dim myForm As New Form()
    myForm.Text = "My Form"
    myForm.SetBounds(10, 10, 200, 200)

    ' Determine if the form is modal.
    If myForm.Modal = False Then
        ' Change borderstyle and make it not a top level window.
        myForm.FormBorderStyle = FormBorderStyle.FixedToolWindow
        myForm.TopLevel = False
    End If
End Sub

private void ShowMyNonModalForm()
    Form myForm = new Form();
    myForm.Text = "My Form";

    // Determine if the form is modal.
    if(myForm.Modal == false)
        // Change borderstyle and make it not a top level window.
        myForm.FormBorderStyle = FormBorderStyle.FixedToolWindow;
        myForm.TopLevel = false;

    void ShowMyNonModalForm() {
        Form* myForm = new Form();
        myForm->Text = S"My Form";
        myForm->SetBounds(10, 10, 200, 200);

        // Determine if the form is modal.
        if (myForm->Modal == false) {
            // Change borderstyle and make it not a top level window.
            myForm->FormBorderStyle = FormBorderStyle::FixedToolWindow;
            myForm->TopLevel = false;

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

Form Class | Form Members | System.Windows.Forms Namespace | ShowDialog