NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosNet : Vb_menu_principal_popup_arquivos_texto_001
Quer receber novidades e e-books gratuitos?

VB: Menu Principal, Menu PopUp e Arquivos Texto

1. Menu Principal

2. Menu PopUp

3. Editando, Salvando e Abrindo Arquivos Texto

 

1. Menu Principal

O Exemplo a seguir ilustra a utilização de menus no VB. Para tanto, monte um formulário similar ao abaixo inserindo um componente MenuStrip e um componente Label. Este último exibirá o texto "Visual Basic", terá o nome "LbTexto"

O menu será formado pelos itens "Arquivo" e "Formatar" que, por sua vez, terão submenus.  Ao definir a priopriedade Text dos itens do menu, pode-se inserir um "&" antes da letra que deseja-se sublinhar - letras sublinhadas indicam como selecionar o item pelo teclado, através da tecla [Alt] + a tecla sublinhada.

C:\Users\Vista\Desktop\Wellington\VB.net\Z\Aula7VB_Menus\Aula7VB_Menus\aula7_fig4.jpg

C:\Users\Vista\Desktop\Wellington\VB.net\Z\Aula7VB_Menus\Aula7VB_Menus\aula7_fig1.jpg

C:\Users\Vista\Desktop\Wellington\VB.net\Z\Aula7VB_Menus\Aula7VB_Menus\aula7_fig2.jpg

C:\Users\Vista\Desktop\Wellington\VB.net\Z\Aula7VB_Menus\Aula7VB_Menus\aula7_fig3.jpg

Ao clicar no menu "Arquivo>>Sobre", será aberto um outro formulário. Assim, na janela Solution Explorer, clique no nome do projeto e, com o botão direito, ative um menu popup e selecione os itens "Add>>Windows Form". Na janela aberta, escolha a primeira opção - "Windows Form".

C:\Users\Vista\Desktop\Wellington\VB.net\Z\Aula7VB_Menus\Aula7VB_Menus\aula7_fig5.jpg

Ainda na janela Solution Explorer, clique sobre os nomes dos formulários ("Form1.vb" e "Form2.vb"), ative o menu popup novamente e renomeie-os para "FormPrincipal.vb" e "FormSobre.vb" respectivamente. Configure o "FormSobre" tal como no exemplo abaixo - use um PictureBox para a imagem e um botão "OK" que, quando for pressionado, fecha tal  (Me.Close()).

C:\Users\Vista\Desktop\Wellington\VB.net\Z\Aula7VB_Menus\Aula7VB_Menus\aula7_fig6.jpg

Volte para o "FormPrincipal" e clique, então, duas vezes sobre o item "Arquivo>>Sobre" e insira no do procedimento aberto o código "FormSobre.Show()". A seguir, clique no item "Arquivo>>Sair" e defina o comando correspondente como no exemplo abaixo.

Public Class FormPrincipal

    Private Sub SobreToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SobreToolStripMenuItem.Click
        FormSobre.Show()
    End Sub

    Private Sub SairToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SairToolStripMenuItem.Click
        Me.Close()
    End Sub

End Class

Com os itens do menu "Formatar" será feito procedimento similar. Clique duas vezes sobre o item "Formatar>>Cor>>Vermelho" e, no procedimento aberto, insira o código "LbTexto.ForeColor = Color.Red" para alterar a cor do texto do "LbTexto" para vermelho. Repita o processo para as demais cores.


Public Class FormPrincipal

    Private Sub SobreToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SobreToolStripMenuItem.Click
        FormSobre.Show()
    End Sub

    Private Sub SairToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SairToolStripMenuItem.Click
        Me.Close()
    End Sub

    Private Sub VermelhoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VermelhoToolStripMenuItem.Click
        LbTexto.ForeColor = Color.Red
    End Sub

    Private Sub VerdeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerdeToolStripMenuItem.Click
        LbTexto.ForeColor = Color.Green
    End Sub

    Private Sub AzulToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AzulToolStripMenuItem.Click
        LbTexto.ForeColor = Color.Blue
    End Sub

End Class

Ainda no menu "Formatar", configure os elementos do subitem "Texto" clicando duas vezes sobre cada um e definindo os códigos tal como abaixo.



Public Class FormPrincipal

    Private Sub SobreToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SobreToolStripMenuItem.Click
        FormSobre.Show()
    End Sub

    Private Sub SairToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SairToolStripMenuItem.Click
        Me.Close()
    End Sub

    Private Sub VermelhoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VermelhoToolStripMenuItem.Click
        LbTexto.ForeColor = Color.Red
    End Sub

    Private Sub VerdeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerdeToolStripMenuItem.Click
        LbTexto.ForeColor = Color.Green
    End Sub

    Private Sub AzulToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AzulToolStripMenuItem.Click
        LbTexto.ForeColor = Color.Blue
    End Sub

    Private Sub VisualToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VisualToolStripMenuItem.Click
        LbTexto.Text = "Visual"

    End Sub

    Private Sub BasicToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BasicToolStripMenuItem.Click
        LbTexto.Text = "Basic"
    End Sub

    Private Sub VisualBasicToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VisualBasicToolStripMenuItem.Click
        LbTexto.Text = "Visual Basic"
    End Sub

End Class

Rode o programa a fim de visualizar o resultado e interagir com o mesmo.

2. Menu PopUp

Ainda no exemplo anterior, vamos configurar um menu do tipo PopUp, o qual é ativado pelo clique com o botão direito do mouse sobre o formulário. Para tanto, insira um ContextMenuStrip e coloque a opção "Resetar" no mesmo.

C:\Users\Vista\Desktop\Wellington\VB.net\Z\Aula7VB_Menus\Aula7VB_Menus\aula7_fig7.jpg

Clique duas vezes sobre a opção "Resetar" e insira o seguinte código no procedimento aberto:

    Private Sub ResetarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ResetarToolStripMenuItem.Click
        LbTexto.ForeColor = Color.Black
        LbTexto.Text = "Visual Basic"
    End Sub

Assim, a aparência do Label voltará a ser como no início da execução do programa.

No entanto, deve-se, ainda, indicar para o "FormPrincipal" que tal menu PopUp será ativado pelo botão direito do mouse. Selecione, então, o "FormPrincipal" e configure sua propriedade "ContextMenuStrip" indicando o menu "ContextMenuStrip1" recém configurado.

3. Editando, Salvando e Abrindo Arquivos Texto

Vamos alterar o programa anterior de modo que seja possível ao usuário digitar um texto, salvar este e abrí-lo em outro momento.

Aumente o tamanho da interface do "FormPrincipal" e insira um componente do tipo RichTextBox mudando seu nome para "RTBTexto".No menu "Arquivo", insira o novo item "Salvar" (caso você prefira que esta opção venha antes da opção "Sair", basta arrastar "Salvar" para a posição anterior à "Sair").

C:\Users\Vista\Desktop\Wellington\VB.net\Z\Aula7VB_Menus\Aula7VB_Menus\aula7_fig8.jpg

Insira, ainda, um componente SaveFileDialog e nomeie-o como "SFDTexto". Na propriedade Filter deste componente, insira a seguinte definição de extensões aceitas para salvamento de arquivos:

Arquivos Texto (*.txt) | .txt | Arquivos RTF (*.rtf) | .rtf

Clique duas vezes sobre o menu "Arquivo>>Salvar" e, no procedimento aberto, insira o seguinte código:


   Private Sub SalvarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalvarToolStripMenuItem.Click
        Dim nomearq As String

        SFDTexto.ShowDialog()

        nomearq = SFDTexto.FileName

        If (nomearq <> "") Then
            RTBTexto.SaveFile(nomearq, RichTextBoxStreamType.PlainText)
        Else
            MsgBox("Nome de arquivo inválido!", MsgBoxStyle.Exclamation, "Erro ao salvar")
        End If

    End Sub

Neste, declara-se uma variável do tipo string que conterá o nome do arquivo definido pelo usuário na janela de salvamento ("SFDTexto"). Este, é exibida ao usuário através do evento ShowDialog(). Também através do componente "SFDTexto", acessa-se o nome do arquivo definido pelo usuário atribuindo-o à string "nomearq". Tal string é testada a fim de verificar se o nome foi definido corretamente e, caso tenha sido, o texto digitado no "RTBTexto" é salvo; caso contrário, é exibida uma mensagem de erro.

O próximo passo é a definição dos itens "Novo" e "Abrir" do menu. Assim, insira estes tal como na imagem a seguir.

C:\Users\Vista\Desktop\Wellington\VB.net\Z\Aula7VB_Menus\Aula7VB_Menus\aula7_fig9.jpg

Ao clicar na opção "Novo", será exibida para o usuário uma MsgBox perguntando se ele prefere salvar o texto atual antes de abrir um novo ou não. Caso a resposta seja sim, os mesmos comandos da opção "Salvar" são executados; caso contrário, o "RTBTexto" é limpo e fica a espera da digitação de um novo texto.

Clique, assim, duas vezes sobre a opção "Novo" do menu e, no procedimento aberto, insira o código abaixo. Note que a variável teste está sendo definida com o tipo "DialogResult" relacionado ao evento da MsgBox.

   Private Sub NovoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NovoToolStripMenuItem.Click
        Dim nomearq As String
        Dim teste As DialogResult

        teste = MsgBox("Deseja salvar o texto anterior?", MsgBoxStyle.YesNo, "Alerta!")

        Select Case teste

            Case DialogResult.No
                RTBTexto.Clear()

            Case DialogResult.Yes
                SFDTexto.ShowDialog()
                nomearq = SFDTexto.FileName
                If (nomearq <> "") Then
                    RTBTexto.SaveFile(nomearq, RichTextBoxStreamType.PlainText)
                Else
                    MsgBox("Nome de arquivo inválido!", MsgBoxStyle.Exclamation, "Erro ao salvar")
                End If

        End Select

    End Sub

Por fim, insira um componente do tipo OpenFileDialog e nomeie-o para "OFDTexto", defina a propriedade Filter tal como para o componente "SDBTexto" e deixe em branco a propriedade FileName. A seguir, clique duas vezes no menu "Arquivo>>Abrir" e insira o seguinte código no procedimento aberto:

   Private Sub AbrirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AbrirToolStripMenuItem.Click
        Dim nomearq As String

        OFDTexto.ShowDialog()
        nomearq = OFDTexto.FileName

        If (nomearq <> "") Then
            RTBTexto.LoadFile(OFDTexto.FileName, RichTextBoxStreamType.PlainText)
        Else
            MsgBox("Nome de arquivo inválido!", MsgBoxStyle.Exclamation, "Erro ao abrir")
        End If
    End Sub
1 Visão geral do .NET Framework e do CLR
1 Comunicação .NET e VB 6.0 (com Visual Studio.NET 2005) - Parte I
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 1
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 2
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 3
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 4
1 Desenvolvendo aplicações Windows utilizando o VB.NET e o C# - Parte 5
1 VB: Menu Principal, Menu PopUp e Arquivos Texto
Visual Studio
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control
1 Visual Web Developer - 2005 - Beta 2 - Introdução
1 ASP.NET 2.0 - Conhecendo o GridView
1 ASP.NET 2.0 - Utilizando o GridView e DetailsView
1 ASP.NET 2.0 - Conhecendo o ObjectDataSource Control - Parte 2
1 ASP.NET 2.0 - Utilizando o XmlDataSource
1 Envio de e-mail através de formulário web
1 ADO.NET 2.0 - Conhecendo as novidades parte 1
1 Série Visual Source Safe - Parte 1
1 Série Visual Source Safe - Parte 3
1 URL Indexável – Reescrever URL de uma forma amigável
1 Permissão de Página Utilizando Web.Config
1 Usando public interface
1 Trabalhando com o componente TabContainer
1 Adicionando Menu no DataGridView
ASP.NET
1 Conhecendo o ambiente integrado do WebMatrix
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte I
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte II
1 Desenvolvendo aplicações ASP.NET no WebMatrix - WebControls – Parte III
1 Acessando um banco de dados facilmente com ADO.Net e Datagrid
1 Desvendando os segredos do Dataset- Parte I
1 Construindo um Sistema de Publicação de Notícias – Parte 1
1 Construindo um Sistema de Publicação de Notícias – Parte 2
1 Construindo um Sistema de Publicação de Notícias – Parte 3
1 Construindo um Sistema de Publicação de Notícias – Parte 4
1 Construindo um Sistema de Publicação de Notícias – Parte 5
1 Login com Perfil de Acesso
1 Guest Book com XML - Parte 1
1 Guest Book com XML - Parte 2
1 Agendando Datas no Calendário com XML
1 Filtrando e Organizando Dados com o Controle DataView
1 Lista de Dados com Subitens – Parte 1
1 Lista de Dados com Subitens – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 1
1 Trabalhando com Arquivos e Diretórios – Parte 2
1 Trabalhando com Arquivos e Diretórios – Parte 3
1 Sistema de Enquetes baseado em WebServices – Parte 1
1 Sistema de Enquetes baseado em WebServices – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 3
1 Upload de Arquivos
1 Crie seu próprio código de verificação
1 Login e Senha com FormsAuthentication – Parte 1
1 Login e Senha com FormsAuthentication – Parte 2
1 Sistema de Enquetes baseado em WebServices – Parte 4
1 Sistema de Enquetes baseado em WebServices – Parte 5
1 Sistema de Enquetes baseado em WebServices – Parte 6