Escolar Documentos
Profissional Documentos
Cultura Documentos
Csharp 02
Csharp 02
NET
Como os programas em Windows so orientados a eventos comum desativar opes de menus e botes. Neste primeiro programa, vamos criar uma espcie de gangorra eletrnica.
Programao em C#
Programa 01
Criar uma aplicao do tipo Windows Application e cham-la de Gangorra. Menu File/New/Project. Selecione o Visual C# Projects na opo Templates e preencha o campo nome com a palavra Gangorra.
Programao em C#
Insira dois botes alinhados na horizontal. Mude o texto dos botes para ON e OFF. Mude o nome dos botes para bOn e bOff.
Propriedade name
Programao em C#
Insira mais um boto abaixo e alinhe-o na vertical com um dos anteriores. Chame-o de bFechar e mude seu texto para Fechar.
Programao em C#
O objetivo que quando o usurio clique em um boto, desabilite o outro, formando assim uma gangorra. Na tela de design do form, clique duas vezes no boto ON. Isto cria o evento clique no cdigo. Toda vez que este boto for pressionado pelo usurio o cdigo neste mtodo executado.
Programao em C#
Programao em C#
Volte para a tela de design do form, use a aba ou apert Shift + F7. Duplo clique no boto OFF e insira o seguinte cdigo:
private void bOff_Click(object sender, EventArgs e) { bOff.Enabled = false; bOn.Enabled = true; }
Programao em C#
Volte para a tela de design do form, use a aba ou apert Shift + F7. Duplo clique no boto Fechar e insira o seguinte cdigo:
private void bFechar_Click(object sender, EventArgs e) { Close(); }
Programao em C#
Antes de executar edite a propriedade Enabled do boto OFF e marque false. Execute o programa. O que acontece?
Ao iniciar o boto OFF est desabilitado. Ao clicar em ON, o boto ON fica desabilitado e o OFF habilitado. Ao clicar em OFF, o boto OFF fica desabilitado e o ON habilitado. Ao clicar em Fechar, a aplicaes fechada.
Programao em C#
10
Solution Gangorra
Programao em C#
11
Gangorra
Programao em C#
12
Properties
References
Program.cs
13
Identificadores
Nomes de objetos, variveis, mtodos, classes, etc. Primeiro caractere no pode ser um nmero, deve ser uma letra ou um _. Nenhum espao permitido. Sensveis a letras minsculas e maisculas (case sensitive). A propriedade Name de um boto um identificador.
Programao em C#
14
Name
Programao em C#
15
Name
programador. Portanto, se for mudar o nome do componente, mude logo no incio para no dar muito mais trabalho depois.
Programao em C#
16
Text
rtulo tm esta propriedade. Armazena a string que ser mostrada quando o componente for desenhado.
Programao em C#
17
Location
Programao em C#
18
Size
Altura e comprimento. Similar a Location. Size(Height, Width). Cor do componente. Cor do texto do componente.
Programao em C#
BackColor ForeColor
19
Font
Programao em C#
20
TabIndex
Ordem do componente no form ou painel. Caminho da imagem que ser exibida no componente. Determina se o componente visvel ou est escondido. Indica se o componente est habilidato ou desabilitado.
Image
Visible
Enabled
Programao em C#
21
Eventos
Cada objeto possui uma lista de eventos. Para visualizar os eventos de um componente ative a paleta propriedades, selecione o componente desejado e clique sobre o cone similar a um raio.
Programao em C#
22
Eventos
Eventos so atendidos por manipuladores (handlers) e inseridos automaticamente no cdigo quando habilitados.
Design do form
Programao em C#
23
Eventos
A linha:
this.bOn.Click += new System.EventHandler(this.bOn_Click);
foi gerada automaticamente quando inserido o evento Click na aba de eventos. O que o evento deve fazer por conta do programador.
Cdigo do form
Programao em C#
24
Click
KeyPress
25
Enter
na aplicao. Suponha uma tela com vrios campos de entrada. Quando a tela apresentada o foco est sobre o primeiro campo. Aps pressionar Tab o usurio passa para o prximo campo. O foco da aplicao passa para o prximo campo.
Programao em C#
26
Leave
Resize
TextChanged
muda.
27
Mtodos Simples
Da mesma forma que eventos, cada objeto possui sua prpria lista de mtodos. Show()
Close()
Programao em C#
28
Mtodos Simples
Refresh()
Redesenhar Antes de redesenhar, apaga o componente. Quando aplicado em arquivos, faz com o buffer do
mesmo seja recarregado.
Programao em C#
29
Mtodos Simples
Dispose()
Hide()
Esconde o objeto.
Programao em C#
30
Melhorando a Gangorra
private void bOn_Click(object sender, EventArgs e) { bOn.Enabled = false; bOff.Enabled = true; } ----private void bOn_Click(object sender, EventArgs e) { bOn.Enabled = !bOn.Enabled; bOff.Enabled = !bOff.Enabled; }
Programao em C#
31
Melhorando a Gangorra
Operador unrio ! funciona como negao de expresso seguinte. Passo seguinte excluir o evento Click atribudo ao bOff. Exclua o cdigo-fonte inserido e depois limpe a caixa de texto ao lado do nome do evento na janela Properties (Events).
Programao em C#
32
Melhorando a Gangorra
Execute o programa e certifique-se que no existe mais evento atribudo ao bOff. Agora vamos utilizar reusabilidade de cdigo. Abra a caixa de texto do evento Click do bOff e atribua o evento j existente bOn_Click.
Programao em C#
33
Primeiro passo inserir pelo menos um breakoint para que se possa executar passo a passo o cdigo. Clique com o boto esquerdo do mouse na lateral cinza ao lado do cdigo para inserir o breakpoint. Execute o programa. Quando a execuo chega na linha do breakpoint o Visual interrompe a mesma.
Programao em C#
34
Programao em C#
35
Programao em C#
36
Crie um novo projeto do tipo Windows Application. Chame-o de WinControls. Altere o texto do form para Windows Controls. Inclua um componente Menu no formulrio. No necessrio alterar o nome deste Menu, s iremos alterar nomes de componentes que sejam referenciados no cdigo.
Programao em C#
37
Entre com o texto Arquivo no retngulo type here. Logo abaixo, digite &Sair. Clique duas vezes no menu Sair. O evento Click do menu Sair ser adicionado. Siga a figura e a tabela para inserir os outros componentes.
Programao em C#
38
Programao em C#
39
O Tooltip um objeto no visual e no fica visvel no formulrio em tempo de desenvolvimento. Aparece no rodap do Visual.
Programao em C#
40
hora do cdigo. O objetivo manipular o tamanho, estilo e cor da fonte do label em tempo de execuo, adicionar e retirar itens do Listview para o TextBox e vice-versa. Vamos comear inserindo uma varivel privada chamada fontSize do tipo int
Programao em C#
41
Programao em C#
42
Antes do usurio poder manipular a aplicao devemos ainda inserir valores para o ComboBox, o texto do label, tips para o boto e o ListBox. Podem ser feitos de duas formas:
Programao em C#
43
Escreva o mtodo init para ser inserido ao construtor do formulrio. Aps insira uma chamada a este mtodo no construtor. Veja o cdigo no prximo slide.
Programao em C#
44
Programao em C#
45
Inteligncia do TextBox para a ListBox e viceversa. Coloque o seguinte cdigo no evento Click do btPush.
lsCommands.Items.Add(txBox.Text + " " + cbFont.SelectedItem);
Programao em C#
46
Siga o exemplo:
Programao em C#
47
Siga o exemplo:
Programao em C#
48
Siga o exemplo:
Programao em C#
49
O refresh do label j est inserido no mtodo para checar o negrito, ento para evitar mais trabalho chamamos este mtodo passando o objeto e evento como null. Se colocssemos novo cdigo para fazer o refresh do label no prprio mtodo do tamanho da fonte, teramos que verificar ainda o estado atual do label, por exemplo, se ele est em negrito ou no, cor, etc.
Programao em C#
50