Como: Exibir Modal e sem janela restrita Windows Forms
Formulários e caixas de diálogo são restritas ou sem janela restrita. Uma caixa de diálogo ou formulário Modal devem ser fechado ou oculto antes de você possa continuar a trabalhar com o restante do aplicativo. Para obter mais informações sobre como trabalhar com caixas de diálogo, consulte Entrada de Usuário em Caixas de Diálogo.
Caixas de diálogo que exibem mensagens importantes devem sempre ser restritas. O sobre caixa de diálogo na Visual Studio é um exemplo de uma caixa de diálogo modal. MessageBoxé uma forma restrita, que você pode usar.
Formulários Modeless permitem que você alterne o foco entre o formulário e outro formulário sem fechar o formulário inicial. O usuário pode continuar a trabalhar em qualquer lugar em qualquer aplicativo enquanto o formulário é exibido.
Formulários sem janela restrita são mais difícil de programa, pois os usuários possam acessá-los em uma ordem imprevisível. Você precisa manter consistente o estado do aplicativo não importa o que o usuário faça. Frequentemente, ferramentas de janelas são mostrados no modo sem janela restrita. A caixa de diálogo o Find, acessível a partir do menu Edit na Visual Studio, é um exemplo de uma caixa de diálogo sem janela restrita. Use formulários sem janela restrita para exibir comandos ou informações frequentemente utilizados.
![]() |
---|
As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritos na Ajuda, dependendo das configurações ativas ou configurações de edição. Para alterar as configurações, escolha Import and Export Settings sobre o Ferramentas menu. Para obter mais informações, consulte Trabalhando com configurações. |
Para exibir um formulário como um caixa de diálogo de janela restrita
Chame o método ShowDialog.
O exemplo de código a seguir mostra como exibir uma caixa de diálogo modalmente.
Dim frmAbout as New Form() ' Display frmAbout as a modal dialog frmAbout.ShowDialog()
//Display frmAbout as a modal dialog Form frmAbout = new Form(); frmAbout.ShowDialog();
Form ^ frmAbout = gcnew Form(); //Display frmAbout as a modal dialog frmAbout->ShowDialog();
O método ShowDialog tem um argumento opcional, owner,que pode ser usado para especificar um relacionamento pai-filho para um formulário. Por exemplo, quando o código em sua forma principal mostra uma caixa de diálogo, você pode passar Me (em Visual Basic) ou this (em Visual C#) como o proprietário da caixa de diálogo para estabelecer o formulário principal como o proprietário, como o código a seguir mostra.
Private Sub mnuAbout_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mnuAbout.Click Dim f As New Form() f.ShowDialog(Me) End Sub
private void mnuAbout_Click(object sender, System.EventArgs e) { Form f = new Form(); f.ShowDialog(this); }
private: void mnuAbout_Click(System::Object ^ sender, System::EventArgs ^ e) { Form ^ f = gcnew Form(); f->ShowDialog(this); }
Para exibir um formulário como um caixa de diálogo de janela restrita
Chame o método Show.
O exemplo a seguir mostra como exibir um caixa de diálogo About em formato sem janela restrita.
Dim f As New Form() ' Display f as a modeless dialog. f.Show()
//Display f as a modeless dialog Form f= new Form(); f.Show();
Form ^ f = gcnew Form(); //Display f as a modeless dialog f->Show();
Observação
Se um formulário é exibido como janela restrita, o código seguinte no método ShowDialog não é executado até que o caixa de diálogo é fechada. No entanto, quando uma forma é mostrada como sem janela restrita, o código seguinte no método Show é executado imediatamente depois que o formulário for exibido.
Consulte também
Tarefas
Como: Recuperar informações de caixa de diálogo seletivamente usando várias propriedades
Demonstra Passo a passo: Recuperando informações de caixa de diálogo coletivamente usando objetos
Referência
Visão Geral dos Formulários do Windows