Você está na página 1de 50

Programao em C# com Visual Studio .

NET

Prof. Eder Samaniego Villalba

Trabalhando com o Visual Studio .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#

Programa 01 Passo a Passo

Mude o ttulo do formulrio para Gangorra

Propriedade text Propriedade text

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#

Programa 01 Passo a Passo


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#

Programa 01 Passo a Passo

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#

Programa 01 Passo a Passo

Insira o seguinte cdigo no mtodo click do boto ON:


private void bOn_Click(object sender, EventArgs e) { bOn.Enabled = false; bOff.Enabled = true; }

Programao em C#

Programa 01 Passo a Passo


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#

Programa 01 Passo a Passo

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#

Programa 01 Passo a Passo

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

Programa 01 Passo a Passo

Examine os arquivos listados no Solution Explorer.

Solution Gangorra

Arquivo de soluo de nvel superior Um por aplicativo Informa o projeto inicial

Programao em C#

11

Programa 01 Passo a Passo

Gangorra

Arquivo do projeto do C#. Cada arquivo de projeto referencia um ou mais arquivos


que contm o cdigo-fonte. Todos os cdigos-fonte de um nico projeto devem ser escritos na mesma linguagem.

Programao em C#

12

Programa 01 Passo a Passo

Properties

Contm um arquivo denominado AssemblyInfo.cs para


adicionar atributos ao programa, como nome do autor e outros.

References

Contm referncias ao cdigo compilado que seu aplicativo


pode usar. Quando o cdigo compilado gerado cdigo em assembly que pode ser oferecido a outro desenvolvedor.

Program.cs

Arquivo fonte do C#, ponto de entrada da aplicao.


Programao em C#

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

Propriedades mais Comuns

Name

Comum a todos os componentes da paleta. Automaticamente nomeados usando o nome da


classe do componente e um nmero sequencial. Quando um componente renomeado, o Visual Studio atualiza automaticamente todo o cdigo gerado por ele e as propriedades de outros componentes que fazem referncia ao componente renomeado.

Programao em C#

15

Propriedades mais Comuns

Name

No atualizado o cdigo gerado pelo

programador. Portanto, se for mudar o nome do componente, mude logo no incio para no dar muito mais trabalho depois.

Programao em C#

16

Propriedades mais Comuns

Text

Todos os componentes que podem apresentar um

rtulo tm esta propriedade. Armazena a string que ser mostrada quando o componente for desenhado.

Programao em C#

17

Propriedades mais Comuns

Location

Esquerda X e topo Y Armazena a posio do componente em relao ao


form ou painel que o contm. Movendo o componente, estas propriedades se atualizam automaticamente. Alterando estas propriedades, o componente movido. Location(X; Y)

Programao em C#

18

Propriedades mais Comuns

Size

Altura e comprimento. Similar a Location. Size(Height, Width). Cor do componente. Cor do texto do componente.
Programao em C#

BackColor ForeColor

19

Propriedades mais Comuns

Font

Permite selecionar tamanho e tipo da fonte

que sera usada para escrever o texto no componente.

Programao em C#

20

Propriedades mais Comuns

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

Eventos mais Comuns

Click

Gerado cada vez que o boto esquerdo do mouse

pressionado e solto em cima do componente. S ocorre quando o usurio libera o boto.

KeyPress

Gerado quando o usurio pressiona e libera uma

tecla no teclado. Muito usado para reconhecimento de teclas em TextBox e ListBox.


Programao em C#

25

Eventos mais Comuns

Enter

Quando o componente se torna o componente ativo

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

Eventos mais Comuns

Leave

Gerado imediatamente antes de o foco deixar o


componente.

Resize

Gerado quando o tamanho do componente


alterado.

TextChanged
muda.

Quando o valor da propriedade Text do componente


Programao em C#

27

Mtodos Simples

Da mesma forma que eventos, cada objeto possui sua prpria lista de mtodos. Show()

Ativa o evento de renderizao do form. desenhado e ativado.

Close()

Aplicado geralmente em forms e arquivos. Quando utilizado no form principal, encerra a


aplicao.

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()

Libera o endereo de memria alocado com o


Create para que o Garbage Collector cuide de sua remoo.

Hide()

Esconde o objeto.

Programao em C#

30

Melhorando a Gangorra

Vamos otimizar o cdigo da 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

Debugando uma Aplicao

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

Debugando uma Aplicao

A partir deste ponto h novas janelas para serem acessadas.


Visualiza chamadas a memria

Descobrir valores locais Outros valores observados

Programao em C#

35

Debugando uma Aplicao


Step Into = F11

Entra na mtodo chamado Executa a prxima instruo sem depur-la.

Step Over = F10

Step Out = Shift + F11

Mtodo atual continua a executar sem interrupes.

Programao em C#

36

Componentes mais Usados

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

Componentes mais Usados

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

Componentes mais Usados

Programao em C#

39

Componentes mais Usados

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

Componentes mais Usados


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

Componentes mais Usados

Programao em C#

42

Componentes mais Usados

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:

No evento OnLoad do formulrio. Criando um construtor para o formulrio (esta a


que faremos).

Programao em C#

43

Componentes mais Usados

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

Componentes mais Usados

Programao em C#

45

Componentes mais Usados

Inteligncia do TextBox para a ListBox e viceversa. Coloque o seguinte cdigo no evento Click do btPush.
lsCommands.Items.Add(txBox.Text + " " + cbFont.SelectedItem);

Coloque o seguinte cdigo no evento SelectedIndexChanged da ListBox.


txBox.Text = lsCommands.SelectedItem.ToString();

Programao em C#

46

Componentes mais Usados

Mudar as cores do label.


radiobuttons.

Crie o evento CheckedChanged para cada um dos

Siga o exemplo:

Programao em C#

47

Componentes mais Usados

Mudar a fonte para negrito.

Crie o evento CheckedChanged para o checkbox.

Siga o exemplo:

Programao em C#

48

Componentes mais Usados

Alterar o tamanho da fonte.

Ao selecionar algum item do ComboBox o programa


deve chamar o evento SelectedIndexChanged e mudar o tamanho da fonte.

Siga o exemplo:

Programao em C#

49

Componentes mais Usados

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

Você também pode gostar