Академический Документы
Профессиональный Документы
Культура Документы
Depto. De Informtica
Introduo ao Microsoft Visual Basic 2005
Veremos como construir nosso menu em breve. Note o que mais foi adicionado ao
seu projeto. Examine a parte inferior da sua tela, esquerda. Voc ver isto:
Este o controle propriamente dito. Se voc clicar sobre ele, voc ver que a Caixa
de Propriedades a direita muda. H muitas propriedades para o controle. H tambm
Prof. Jos Alberto Matioli
jan-09
101
A caixa Type Here move-se uma posio para baixo. Voc ter tambm uma
segunda rea Type Here a direita da primeira.
Digite a palavra Arquivo na textbox, e ento pressione enter. Voc ver isto:
Clique na area Type Here abaixo da opo "Arquivo", e o menu mudar para isto:
Digite a palavra Novo e ento pressione enter. Voc dever ento ter isto:
Da mesma forma, adicione um item Abrir e um Salvar no seu menu. Ele dever se
parecer com isto:
jan-09
102
O ltimo item que adicionaremos ao menu a opo Sair. Mas antes vamos
adicionar um separador entre o Salvar e o Sair.
Para adicionar um separador, clique na area Type Here abaixo do item "Salvar". Ao
invs de digitar um letra, digite um sinal de menos -. Quando voc pressionar enter,
voc ver o separador aparecer:
Clique na area Type Here abaixo do separador, e adicione o item Sair. Clique de
volta no seu form, fora do menu, para finalizar. Voc dever ter um menu Arquivo
como este:
Para ver como seu menu se parece, execute seu programa. Clique o menu Arquivo e
voc dever ter um sub-menu parecido com este:
jan-09
103
jan-09
104
Clique na seta para baixo no topo da janela, onde est escrito o nome do form
(Form1):
jan-09
105
Agora pressione F7 novamente para retornar janela de cdigo. Clique na seta para
baixo na caixa Form1, e voc dever ver o novo nome na lista.
jan-09
106
jan-09
107
O cdigo acima foi quebrado em vrias linhas para se ajustar a pgina; o seu aparecer
tudo em numa nica linha. Mas note que aparece mnuSair_Click.
No se escabele se ainda no sabe o que isso significa; veremos isso numa seo
adiante. O que queremos fazer adicionar algum cdigo de nossa autoria, para que o
menu Sair faa alguma coisa.
Basta uma nica linha de cdigo. E esta:
Me.Close( )
A palavra "Me" refere-se ao form. Quando voc digitar a palavra Me, voc ver que
aparece uma lista de itens. D um duplo clique na palavra Close, ento pressione a tecla
Enter. Sua janela de cdigo dever se parecer com isto:
jan-09
108
Clique no seu menu Arquivo para que voc possa ver todos seus itens.
jan-09
109
Salve seu trabalho, e execute o seu programa. Clique no seu item de menu Novo
para ver se parece com isso:
claro, nenhum dos itens de menu ir funcionar, exceto o menu Sair. Mas voc deve ter
percebido que muito fcil adicionar menus aos seus programas em VB.NET.
jan-09
110
Clique uma vez sobre o seu item de menu Novo. D mais um clique. Isto o
selecionar
Note que o "N" de Novo agora est sublinhado. Se voc quiser um atalho sublinhado, o
caractere & deve preceder a letra que voc deseja sublinhar.
Prof. Jos Alberto Matioli
jan-09
111
Um tempo para ver se seus atalhos funcionam. Execute seu programa. Para usar os
atalhos sublinhados dos menus, voc primeiro pressiona a tecla Alt em seu teclado.
Ento digita o caractere sublinhado.
Pressione a tecla Alt enquanto o programa est sendo executado (Voc pode no
ser capaz de ver os sublinhados at voc pressionar a tecla Alt)
Tudo isso e voc no teve que escrever uma nica linha de cdigo!
jan-09
112
Clique na seta para baixo, que est ao lado do boto "Reset" abaixo
jan-09
113
Execute o seu programa e teste o atalho. No clique no menu Arquivo. Apenas pressione
a tecla Ctrl no seu teclado. Ento pressione a letra X. O programa ser encerrado.
Voc pode adicionar este tipo de atalho a qualquer item de menu. Apenas se lembre de
escolher combinaes de teclas diferentes para cada item de menu. E no tenha muitos
deles - eles poluiro seu menu!
Agora que voc j sabe como adicionar Menus, Sub Menus e Atalhos hora de
completar sua barra de menus. V para o prximo tpico para ver o que voc precisa
fazer. No muito difcil!
jan-09
114
Desfazer
Recortar
Copiar
Colar
Mostrar Textboxes
Mostrar Labels
Mostrar Imagem
Exatamente como voc fez com o item de menu Sair, altere a propriedade Name de
TODOS os itens de menu. No mantenha os defaults "ToolStripMenuItem1",
"ToolStripMenuItem2", etc. (Voc deve mudar a propriedade Name e colocar algum nome
que seja relevante, e use o prefixo mnu. Por exemplo, o item Desfazer pode ter o nome
mnuDesfazer.)
Adicione pelo menos um atalho do tipo Combinao de Teclas por lista de menu
(voc j tem um no menu Arquivo, mas este no conta)
Quando tiver terminado, seus menus devero se parecer com estes (embora voc possa
usar diferentes combinaes de teclas, se quiser):
jan-09
115
Menu Visualizar
Escreva cdigo para apresentar uma caixa de mensagem sempre que um item de
menu for clicado, ou for usado seu atalho. A caixa de mensagem deve explanar,
descrever, o que o item de menu far quando estiver completamente
implementado.
Ser necessria apenas uma linha de cdigo para cada item de menu. Voc pode
colocar o cdigo no evento click de cada item de menu, da mesma forma que fez para o
item de menu Sair.
jan-09
116
jan-09
117
Trabalharemos com estes textboxes quando tivermos o menu Edit. Vamos deix-lo
quieto por enquanto.
Quando clicamos no menu Arquivo > Abrir, ns queremos que a caixa de dilogo "Abrir
Arquivo" aparea. Isto estupidamente fcil em VB.NET. H um controle s para isso.
Abra sua Toolbox, e localize o controle chamado "OpenFileDialog". Voc pode ter que
rolar para baixo para v-lo. Voc dever procurar por isto:
O pontilhado circundando o controle significa que ele est selecionado. Se voc olhar a
direita da tela, ver que as propriedades que voc pode usar com o controle.
Prof. Jos Alberto Matioli
jan-09
118
Agora vamos escrever algum cdigo para manipular as propriedades do nosso novo
controle. Para isso faa o seguinte:
Acesse o cdigo do seu item de menu Arquivo > Abrir. (Para fazer isso
rapidamente, voc pode simplesmente dar um duplo clique no item de menu Abrir
na sua barra de menu. Ou, pressione F7 para acessar a janela de cdigo.)
O cdigo, vazio, deve ser este (o cdigo a seguir tem caracteres de sublinhado
para que caiba nesta pgina):
jan-09
119
O Diretrio Inicial
Voc pode definir qual o diretrio a caixa de dilogo dever apresentar quando ele
aparecer. Ao invs do contedo da pasta "Meus Documentos", por exemplo, voc pode
faz-lo apresentar o contedo de qualquer pasta. Isto feito com a propriedade Initial
Directory. Mude seu cdigo para isto:
openFD.InitialDirectory = "C:\"
openFD.ShowDialog()
Execute o programa novamente, e veja o resultado em ao. Voc dever ver o contedo
da pasta raiz do drive "C".
A Propriedade Ttulo
Por default, a caixa de dilogo tem a palavra "Abrir" como ttulo no topo da sua caixa de
dilogo. Voc pode alterar isto com a propriedade Title. Adicione a linha em Bold ao seu
cdigo:
openFD.InitialDirectory = "C:\"
openFD.Title = "Abrir um arquivo texto"
openFD.ShowDialog()
Execute seu programa novamente, e clique no item Open do seu menu. Voc dever ver
isto no topo da sua caixa de dilogo:
jan-09
120
A Propriedade Filter
Na maioria das caixas de dilogo, voc pode apresentar uma lista de arquivos
especficos que podem ser abertos. Estes tipos so apresentados na lista "Arquivos do
Tipo". Para fazer isso em VB.NET, voc acessa a propriedade Filter. Restringiremos
nossos usurios a abrir apenas arquivos Texto, aqueles que terminas com a extenso
".txt".
O cdigo a seguir (em negrito) mostra como usar a propriedade Filter:
openFD.InitialDirectory = "C:\"
openFD.Title = "Abrir um arquivo texto"
openFD.Filter = "Arquivos Texto|*.txt"
openFD.ShowDialog()
Execute seu programa. Clique no seu menu Arquivo > Abrir, e ento clique na seta da
lista "Arquivos do tipo". Voc ver isto:
Voc pode adicionar um ttulo extra descrio do filtro, se voc quiser. Isto serve como
uma orientao sobre a que tipo de arquivo se refere. Tente modificar esta linha para
isto:
openFD.Filter = "Arquivos Texto (*.txt)|*.txt"
Quando voc executar o programa, voc ver isto na lista "Arquivos do tipo".
jan-09
121
jan-09
122
jan-09
123
jan-09
124
O Controle SaveFileDialog
A caixa de dilogo Salvar funciona da mesma forma que a caixa de dilogo Abrir. Porm,
voc no pode usar o mesmo controle. Se voc examinar a Toolbox (caixa de
ferramenta), ver um controle chamado SaveFileDialog.
D um duplo clique neste controle para adicion-lo ao seu projeto. Se voc olhar na parte
inferior da tela, ver o controle adicionado l e no no seu form:
Acesse o cdigo do item de menu Arquivo > Salvar. Ento adicione o seguinte cdigo:
saveFD.ShowDialog()
Sua janela de cdigo deve se parecer com isto (novamente, os sublinhados significa
quebra de linha, para poder visualizar melhor o cdigo):
Execute seu programa, ento clique no seu item de menu Arquivo > Salvar. Voc
dever ver a caixa de dilogo Salvar Como aparecer.
jan-09
125
jan-09
126
Note a dica em amarelo. Ela est lhe dizendo o que este mtodo faz - copia o texto
selecionado atualmente para a rea de transferncia do windows (clipboard). O clipboard
uma rea de aramazenamento temporrio disponvel para a maioria das aplicaes
Windows. Quando voc chamar o mtodo Copy do textbox, qualquer texto selecionado
colocado nesta rea de armazenamento temporrio para voc. Voc no precisa
escrever nenhum outro cdigo.
Portanto acesse o cdigo para o seu item de menu Copiar, e adicione esta linha a ele:
Textbox1.Copy()
Sua janela de cdigo deve se parecer com isto:
jan-09
127
hora de testar. Execute seu program. Selecione todo texto no textbox um (ele pode j
estar selecionado), ento clique em Editar > Copiar no seu menu.
Clique dento do segundo textbox. Ento clique no seu menu Editar > Colar. O texto
dever aparecer no textbox dois.
O Menu Recortar
Acesse o cdigo do seu item de menu Recortar. Adicione o seguinte cdigo:
TextBox1.Cut()
Execute seu programa, e selecione o texto no textbox um. Do seu menu, clique em
Editar > Recortar. O texto dever desaparecer (ele ir para o clipboard, calma). Clique
dentro do textbox dois, e clique no seu menu Editar > Colar. O texto que foi recortado
dever ser colado no textbox dois.
O Menu Desfazer
Para o menu Desfazer, adicione esta linha de cdigo:
TextBox1.Undo()
Prof. Jos Alberto Matioli
jan-09
128
Execute seu programa. Ento selecione o texto no textbox um. Clique no seu menu
Editar > Recortar e o texto desaparecer. Agora clique no seu menu Editar > Desfazer.
O texto reaparecer.
O menu Editar que implementamos bem simples. Mas demonstra o que voc pode
fazer com menus em VB.NET.
Completaremos nossa discusso sobre menus programando o menu Visualizar que voc
adicionou ao seu form. A seguir daremos uma olha em caixas de imagens, tambm
veremos como fcil ocultar e desabilitar controles em um form.
jan-09
129
Embora isto no seja exemplos extremamente prticos do que colocar num menu
Visualizar, eles nos ajudaro a demonstrar algumas tcnicas teis. A primeira destas
como mostrar e ocultar controles.
jan-09
130
Exerccio
Adicione dois labels ao seu form. Escreva cdigo para alternar os labels entre on e off.
Os dois label devero desaparecer com os textboxes. E eles devem reaparecer quando
o item de menu voltar para a posio on.
jan-09
131
Para adicionar uma imagem em tempo de projeto, localize a propriedade Image no janela de
propriedades:
jan-09
132
clique no boto com o trs pontinhos na propriedade Image. Uma caixa de dilogo aparecer.
Localize uma imagem. Selecione-a, e ento clique em OK na caixa de dilogo. A imagem
aparecer no seu Picture Box:
Ao clicar nos trs pontinhos ser aberta um janela para voc selecionar uma das imagens disponveis. Se no houver
imagens, ou a imagem que voc deseja no estiver sendo apresentada, clique no boto Import... e selecione as imagens
que deseja utilizar em seu projeto.
Se selecionar uma imagem que seja muito grande para o picture box, apenas parte dela ser
visualizada. O controle Picture Box no redimensiona sua imagem.
Voc pode, porm, definir outra propriedade do picture box - a propriedade SizeMode. Defina-a
para AutoSize e sua picture box redimensionar o tamanho da sua imagem.
jan-09
133
Com isso voc s ver imagens nos trs formatos apresentado na lista especificada em "Arquivos
do tipo:".
Para inserir uma imagem no seu Picture Box, algum cdigo novo necessrio.
Adicione o cdigo a seguir aps as linhas j adicionadas, apresentadas acima:
If funcionou <> Windows.Forms.DialogResult.Cancel Then
strFileName = openFD.FileName
PictureBox1.Image = Image.FromFile(strFileName)
openFD.Reset()
End If
H apenas duas linhas que ainda no foram explicadas. A primeira esta:
PictureBox1.Image = Image.FromFile(strFileName)
Antes voc estava carregando a imagem na propriedade Image de PictureBox1 diretamente da
janela de propriedades (clicando naquele boto cinza com trs pontinhos). Aqui, estamos
carregando uma imagem na propriedade Image usando cdigos de programao. O recurso que
usamos para fazer isso o mtodo FromFile da classe Image.
Essa forma de carregar uma imagem pode parecer complicada, principalmente a esta altura da sua
carreira de programador, mas tudo que queremos mostrar que h formas de se carregar uma
imagem diretamente de um arquivo e a escolha do usurio.
Entre os parnteses voc digitou o nome e o diretrio do arquivo de imagem que est tentando
carregar. Uma vez que o nome do arquivo foi colocado na varivel strFileName, podemos us-la.
Voc pode ento atribuir esta varivel propriedade de Image de um Picture Box.
A ltima linha, openFD.Reset(), resetar o diretrrio inicial da caixa de dilodo Abrir Arquivo.
Para ver o que isto faz, comente a linha (coloque uma aspa simples no incio da linha). Execute seu
programa e clique Visualizar > Ver Imagens. Insira uma imagem e ento clique em Arquivo >
Abrir. Voc notar que os arquivos apresentados na sua caixa de dilogo do ltimo diretrio que
voc abriu, ao invs daquele que voc setou com "InitialDirectory="C:\". Resetando o controle da
caixa de dilogo Abrir Arquivo, voc estar resolvendo este problema.
jan-09
134
Check Boxes
Inicie um novo projeto. Localize o controle Checkbox na toolbox. D um duplo clique no controle
e um Checkbox aparecer no seu novo Form.
Veremos que o Checkbox tem a propriedade Text definida como CheckBox1 por default, e um
Name de CheckBox1 tambm. Se voc der outro duplo clique no cone Checkbox na toolbox, o
novo controle dever ser nomeado como CheckBox2.
O problema de criar os Checkboxes desta forma que a cada duplo clique voc ter CheckBoxes
individuais. E se voc quiser mov-los, voc dever mov-los cada um separadamente. H um jeito
de agrupar todos os seus Check Boxes, e mov-los como um conjunto - usando um Group Box.
(Voc pode usar um controle Panel tambm, mas ficaremos com o Group Box.)
Assim, clique no seu Checkbox com o boto direito do mouse. Do menu que aparece, selecione
delete para elimin-lo.
Agora localize o controle Group Box na toolbox. melhor desenh-lo no form, ao invs de
arrastr e solt-lo. Quando tiver adicionado um, a nica coisa que dever ter no seu Form um
Group Box.
Altere a propriedade Text dele para "Novelas". Altere tambm a propriedade Font para o tipo de
fonte que desejar. Voc deve agora ter um form como este:
jan-09
135
Execute o seu propgrama e teste-o. Clique dentro de um Checkbox para selecionar um item. Clique
novamente para desmarc-lo. Quando tiver terminado, retorne ao Ambiente de Desenvolvimento e
clique no Group Box para selecion-lo. Certifique-se de que o Group Box est selecionado, e no
um dos Checkboxes. Voc pde agora arrastar o Group Box sobre o seu Form e todos os
Checkboxes se movero juntos com ele.
O interessante dos Checkboxes poder oferecer a seus usurios mltipla escolha.
Agora escreveremos algum cdigo para obter a escolha feita pelo usurio. Todos os Checkboxes
marcados pelo usurio tero seu Texto apresentado em uma Message Box.
jan-09
136
Como voc pode ver, voc tem trs opes: Unchecked, Checked e Indeterminate.
Se um checkbox tiver sido selecionado, o valor da propriedade CheckState ser 1; se ele
no tiver sido selecionado, o valor ser zero. (O valor para a opo Indeterminate
tambm zero, mas no usaremos esta propriedade.)
Testaremos apenas 0 e 1, Checked e Unchecked. Voc pode fazer o teste com uma
declarao IF simples. Como esta:
If CheckBox1.CheckState = 1 Then
MsgBox("Marcado")
End If
Aps ter digitado o sinal de igual, o VB apresentar uma lista dos valores que voc pode
escolher. Assim o cdigo anterior o mesmo que este:
If CheckBox1.CheckState = CheckState.Checked Then
MsgBox("Marcado")
End If
Prof. Jos Alberto Matioli
jan-09
137
jan-09
138
jan-09
139
Exerccio
Adicione uma declarao Select Case ao final do seu cdigo para testar o que h na
varivel chamada contador.
Se lembra qual o formato de um Select Case? este:
Select Case NomeVariavel
Case 0
MsgBox "Voc certamente no assiste novela!"
End Select
Se voc tem 5 Check Boxes no seu Form, ento o valor mximo que o contador ter 5.
Portanto voc precisa ir at o Case 5.
Adicione mensagens amigveis para cada Case que voc testar.
jan-09
140
jan-09
141
jan-09
142
Exerccio
Adicione um Textbox ao seu Form. Escreva os cdigos para armazenar no Textbox a
propriedade Text da Comdia escolhida quando o boto for clicado.
Adicione um label prximo ao Textbox com o Texto "Voc votou em...".
jan-09
143