Os projetos tradicionais de formulários de janela do Visual Basic fornecem dois métodos para abrir novos formulários. O método Mostrar caixa de diálogo abre o segundo formulário no modo de diálogo, suspendendo o primeiro formulário até o usuário responder ao segundo formulário. Esse tipo de formulário funciona bem para efetuar login, aceitar configurações ou conduzir um diálogo com o usuário. O método Show abre o segundo formulário independentemente, permitindo que os dois sejam executados em paralelo.
Uso do método ShowDialog
Passo 1
Abra o Visual Basic e crie um novo projeto do Windows Forms. Clique em “Arquivo” e depois em “Novo projeto”. Quando a caixa de diálogo Novo Projeto aparecer, selecione “Windows” na exibição em árvore, selecione “Windows Forms Application” nos tipos de projeto, nomeie o projeto “FormSamples” e clique em OK. Um novo formulário será exibido.
Etapa 2
Arraste um rótulo e três botões no novo formulário. Clique no rótulo e escolha a opção “Propriedades”. Nomeie a tag “lblTitle” e digite “Welcome” na propriedade Text. Clique em “ESCAPE” para retornar ao criador do formulário. Repita o processo para cada um dos botões, insira “Login”, “Visualizar” e “Fechar” para cada propriedade de texto de cada botão.
Etapa 3
Crie um segundo formulário. Clique em “Projeto” e depois em “Criar novo formulário do Windows Forms”. Nome do formulário “LoginForm”. Arraste um rótulo, um campo de texto e dois botões no formulário. Altere a propriedade Texto do rótulo para “Nome:”, nomeie o campo de texto “txtName” e o rótulo do botão “Login” e “Cancelar”.
Clique duas vezes no botão Login para abrir a janela de código e adicione o seguinte código:
DialogResult = DialogResult.OK
Clique em Exibir e, em seguida, Design para retornar à exibição de design do formulário. Clique duas vezes no botão Cancelar e adicione o seguinte código:
DialogResult = DialogResult.Cancel
Etapa 4
Volte para o primeiro formulário, clique na janela “Formulário1” do Solution Explorer. Clique duas vezes no botão Login e adicione o seguinte código:
Dim frm As New LoginForm If frm.ShowDialog = DialogResult.OK Then lblTitle.Text = “Bem-vindo” & frm.txtName.Text End If frm.Close ()
Esse código cria uma nova instância do formulário de logon e use o método ShowDialog para abrir o formulário. Se o botão de logon for clicado, ShowDialog retornará DialogResult.OK e o código copia o nome do campo de texto na mensagem de boas-vindas. Se clicar em “Cancelar”, esse código será ignorado. O método Close fecha o formulário da caixa de diálogo.
Uso do método Show
Passo 1
Crie outro formulário chamado “ViewForm”. Arraste um rótulo e um botão da caixa de ferramentas para o formulário. Altere a propriedade Name da marca “lblContent” e altere a propriedade Text do botão “Close”.
Etapa 2
Clique duas vezes no botão “Fechar” e adicione o seguinte código:
Fechar ()
Etapa 3
Retorne ao designer de formulário Form1 e clique duas vezes no botão “Exibir”. Adicione o seguinte código:
Dim frm As New ViewForm frm.lblContent.Text = lblTitle.Text & “. Coloque o conteúdo aqui.” frm.Show ()
Este código cria uma nova instância do ViewForm. Em seguida, defina a propriedade de texto do rótulo e chame o método Show do formulário. Observe que não há um método Close e o método Show não retorna um valor.