2016-08-02 75 views
0

Hier ist mein Code aus einem Formular. Diese Funktion ist wohl eine andere Form zu öffnen, die ich als Dialogfeld erstellt haben, aber ich erhalte immer die Fehlermeldung:C# "Formular, das bereits sichtbar ist, kann nicht als modales Dialogfeld angezeigt werden. Legen Sie die sichtbare Eigenschaft des Formulars auf" false "fest, bevor Sie showDialog aufrufen."

Form that is already visible cannot be displayed as a modal dialog box. Set the form's visible property to false before calling showDialog.

Ich habe durch alle Form-Eigenschaften angesehen und können diese an jedem Ort nicht finden. Was vermisse ich? Mit Visual Studio 2015 und eine WinForms-Anwendung mit .net 4

private void disconnect_Click(object sender, EventArgs e) 
    { 
     ShowDialog(new ManagerWarning()); 
    } 

Antwort

2

Sie versuchen tatsächlich die ShowDialog Methode der aktuellen Ansicht zu nennen, mit dem new ManagerWarning() als Parameter (effektiv und versucht, die aktuelle Ansicht als modaler zu öffnen , mit der neuen Form als Eltern).

Erstellen Instanz Form ManagerWarning und versuchen auf diese Weise

private void disconnect_Click(object sender, EventArgs e) 
    { 
     ManagerWarning m = new ManagerWarning(); 
     m.ShowDialog(); 
    } 
+0

Dank einem Haufen zu laufen! Das funktioniert, aber was ist der Zweck des Befehls ShowDialog? –

+1

@DavidBentley - Wenn Sie 'ShowDialog' aufrufen, wie Sie es in Ihrem Code getan haben, ist dies das gleiche wie' this.ShowDialog'. Sie versuchen, 'ShowDialog' auf Ihrem bereits sichtbaren Formular aufzurufen. –

+0

Oooooo .... Danke! –