Escolar Documentos
Profissional Documentos
Cultura Documentos
Ambiente de Programação I
Sistemas de Informação – Ambiente de Programação I
1- .NET Framework 4
Common Language Runtime (CLR) 4
.NET Base Class Library 5
Linguagens e o .NET Framework 5
Compilação e execução de uma aplicação .NET 6
Gerenciamento da memória - Garbage Collection (GC) 7
2- Orientação a Objetos 8
Classes 8
Objetos e Membros 8
Agregação 8
Encapsulamento 8
Polimorfismo 9
Herança 9
Herança com Polimorfismo 9
Orientação a Eventos 9
3- Variáveis 10
As Características de uma Variável 10
O Comando Dim 10
Abrangência e Tempo de Vida de uma Variável 12
Conversão de dados 12
4- Operadores 13
Operadores Matemáticos 13
Operadores Relacionais 13
Operadores Lógicos 13
5- Comandos Condicionais 15
Clausula If 15
Clausula If ...Then ...Else 16
Clausula ElseIf 16
Cláusula Select Case 17
Uso de Operadores 17
6- Comandos de Laço 18
Comandos de Laço 18
7- IDE do Visual Studio 2005 e Componentes de Interface 21
Barra de Menus e Barra de Ferramentas 21
Propriedades Gerais de Controle e Layout dos Componentes 22
Formulário 23
Labels, TextBoxes e Buttons 23
GroupBox e Panels 24
CheckBox e RadioButtons 24
ComboBox 25
Ednilson 2
Sistemas de Informação – Ambiente de Programação I
ListBox 25
PictureBox 26
Tratamento de Eventos do Mouse 26
Tratamento de Eventos do Teclado 27
Prefixos de Controles 27
8- Funções, Módulos e Sub Main 28
Procedimentos definidos pelo programador 28
9- Tratamento de Erros 30
Tratamento de Erros no .NET Framework 30
Principais Propriedades da Classe Exception 30
10 - Classe String 32
11 - Classe Matemática (Math) 33
Ednilson 3
Sistemas de Informação – Ambiente de Programação I
1- .NET Framework
O .NET Framework possui dois componentes principais: o Common Language Runtime (CLR) e o
.NET Base Class Library.
Arquitetura .NET
O CLR gerencia a execução do código. Ele é responsável pela compilação do código, alocação e
gerenciamento de memória (Garbage Collection) e gerenciamento de thread.
O gerenciamento de memória feito pelo CRL torna os programas menos susceptíveis a erros. Como
o próprio nome diz o CRL é compartilhado e, portanto, não temos um runtime específico para cada
linguagem.
O Common Type System (CTS) que também faz parte do CRL, define os tipos suportados pelo
.NET e suas características. Cada linguagem que suporta .NET tem de necessariamente, suportar esses
tipos.
A grosso modo, dizer que uma linguagem é compatível com o CLS significa dizer que mesmo
quando esta é sintaticamente diferente de qualquer outra que implemente .NET, semanticamente ela é
igual, porque na hora da compilação será gerado um código intermediário (e não código em linguagem de
máquina dependente da arquitetura do processador) equivalente para duas peças de código iguais, porém
escritas em linguagens diferentes. É importante entender esse conceito para não pensar que o código
desenvolvido em C# não pode interagir com código desenvolvido em VB ou outras linguagens, porque
mesmo estas sendo diferentes, todas são compatíveis com o CLS.
Ednilson 4
Sistemas de Informação – Ambiente de Programação I
.NET Base Class Library
A .NET Base Class Library fornece uma coleção de classe úteis e reutilizáveis. Elas são orientadas
a objetos e totalmente extensíveis e podem ser facilmente integrados às suas aplicações desenvolvidas em
.NET Framework.
Quando uma aplicação .NET é compilada, ela é convertida para a Microsoft Intermediate Language
(MSIL).
A MSIL é uma linguagem de baixo nível que a CLR (Common Language Runtime) pode ler e
entender. Como todas as DLLs e Executáveis estão na forma de MSIL, eles podem interagir entre si,
independente da linguagem em que foram desenvolvidas inicialmente.
A Common Language Specification (CLS) define os padrões que devem ser seguidos por uma
linguagem que faça parte do .NET Framework.
Ednilson 5
Sistemas de Informação – Ambiente de Programação I
Para podermos falar sobre este assunto vamos introduzir alguns conceitos essenciais para a
compreensão da execução de um aplicativo .NET.
Tempo de Compilação
Entende-se por tempo de compilação a parte do processo de compilação que diz respeito à geração
de código em MSIL (linguagem intermediária) e de informações específicas da aplicação necessárias para a
sua correta execução. Mas onde estas informações são armazenadas? Como resposta a esta pergunta
vamos introduzir o conceito de metadados:
Metadados
• A descrição dos tipos (classes, estruturas, tipos enumerados etc.) usados na aplicação, podendo
esta ter sido gerada em forma de DLL ou de executável.
• A descrição dos membros de cada tipo (propriedades, métodos, eventos, etc.).
• A descrição de cada unidade de código externo (assembly) usada na aplicação e que é requerida
para que esta execute adequadamente.
• Resolução da chamada de métodos.
• Resolução de versões diferentes de uma aplicação.
Dada a informação contida nos METADADOS, podemos dizer que uma aplicação .NET é auto-
explicativa, dispensando a utilização do registro do Windows para armazenar informações adicionais a seu
respeito. Mais ainda, nos METADADOS é armazenada a versão da aplicação, o que permite que duas
aplicações, mesmo sendo homônimas, possam conviver amigavelmente sem gerar conflitos de versões no
sistema.
O CLR vai procurar nos METADADOS a versão correta da aplicação a ser executada. Esse é um
ganho muito grande no que diz respeito à implementação e manutenção de sistemas em produção, dadas
as dificuldades associadas à manutenção de DLLs e de componentes cujas versões são diferentes, mas
cuja convivência no mesmo ambiente é necessária por razões de compatibilidade com outros aplicativos
que precisam de uma ou de outra DLL.
Assembly
Toda aplicação .NET, quando compilada, é armazenada fisicamente numa unidade de código
denominada assembly. Uma aplicação pode ser composta de um ou mais assemblies, os quais são
representados no sistema de arquivos do sistema operacional na forma de arquivos executáveis (EXE), ou
de DLL.
Porém, as aplicações .NET não são aplicações Win32, apesar de executarem no ambiente
Windows, razão pela qual o runtime Win32 não sabe como executá-las. O Win32, ao identificar uma
aplicação .NET, dispara o runtime .NET que, a partir desse momento, assume o controle da aplicação.
PE (Portable Executable)
Quando um aplicativo é compilado, são geradas instruções em MSIL. Como já dissemos acima,
METADADOS como informações da aplicação também são gerados, e obviamente armazenados na forma
Ednilson 6
Sistemas de Informação – Ambiente de Programação I
de uma DLL ou de um arquivo executável. Isso é conhecido como Executável Portável (Portable
Executable) ou simplesmente PE. Diz-se portável porque ele poderá ser executado em qualquer plataforma
que suporte .NET, sem necessidade de recompilação, operação que será efetuada automaticamente pelo
runtime quando da execução da aplicação.
Um compilador JIT, também conhecido como JITTER, converte instruções MSIL para instruções
específicas da arquitetura do processador onde a aplicação .NET está sendo executada.
• Pré-JIT: Compila de uma só vez todo o código da aplicação .NET que está sendo executada e o
armazena no cache para uso posterior.
• Exono-JIT: Este tipo de compilador é usado em dispositivos como hand-helds onde a memória é um
recurso precioso. Sendo assim, o código é compilado sob demanda, e a memória alocada que não
está em uso é liberada quando o dispositivo assim o requer.
• Normal-JIT: O Normal-JIT compila o código sob demanda e coloca o código resultante no cache, de
forma que esse código não precise ser recompilado quando houver uma nova invocação do mesmo
método.
Como isso é efetuado? À medida que uma área de memória é necessária para alocar um objeto, o
GC ou coletor de lixo (Garbage Collection) realizará essa tarefa, assim como a liberação de espaços de
memória que não estiverem mais em uso.
Ednilson 7
Sistemas de Informação – Ambiente de Programação I
2- Orientação a Objetos
Classes
Uma classe descreve um grupo de objetos com propriedades semelhantes (atributo), o mesmo
comportamento (métodos), os mesmos relacionamentos com outros objetos e a mesma semântica. Pessoa,
empresa, animal, processo e janela são classes de objetos.
Objetos e Membros
Objetos são compostos de Membros. Membros são Propriedades, Campos, Métodos e Eventos
e eles representam dados e funcionalidades de um objeto.
Campos e Propriedades representam dados de um objeto. Métodos são as ações que um objeto
pode desempenhar e Eventos são notificações que um objeto recebe ou envia para outros objetos quando
atividades acontecem na aplicação.
Considerando o exemplo de um objeto carro, ele pode ter propriedades como: cor, fabricante,
modelo, ano e assim por diante. Essas propriedades descrevem o estado do objeto. Um objeto carro pode
possuir diversos métodos, como acelerar, brecar, virar, etc. Os métodos representam comportamentos que
um objeto pode representar. E eventos representam notificações. Por exemplo, um objeto carro poder gerar
um evento batida quando interage com um objeto árvore.
Agregação
Para ilustrar vamos retornar ao exemplo do objeto carro. Um objeto carro pode conter: um objeto
motor, 4 objetos rodas e assim por diante. A composição desses objetos subordinados afeta diretamente as
funções e as regras do objeto carro. Por exemplo, se a propriedade cilindro do objeto motor por igual a 4,
este carro terá um comportamento diferente de outro carro cuja a propriedade cilindro do motor for igual a 8.
Encapsulamento
Objetos podem interagir uns com outros através das propriedades, métodos e eventos públicos.
Porém, um objeto não necessita saber a implementação de um método público de outro objeto para acioná-
lo. Basta saber que ele existe e que pode ser acionado.
Por exemplo, um objeto carro possui os métodos AndarParaFrente, AndarParaTrás e Parar. Porém
um objeto Motorista pode se utilizar desses métodos sem saber o que o objeto Carro faz internamente para
que esses métodos funcionem.
Ednilson 8
Sistemas de Informação – Ambiente de Programação I
Polimorfismo
Uma interface são as regras de comunicação com o ambiente. Ela define os membros que uma
classe deve implementar mas não detalha a forma que eles devem ser implementados.
Por exemplo, um objeto Carro e um objeto Caminhão interagem com o objeto Motorista através da
mesma interface. Desta forma o objeto Motorista poderá interagir tanto com o objeto Carro quanto o objeto
Caminhão, mesmo a implementação dos métodos podendo ser diferentes.
Herança
Herança significa partir de algo já pronto e modificá-lo com o propósito de deixá-lo mais adequado a
determinada finalidade. Supondo que você tem uma classe botão com propriedades básicas; você pode
herdar aquelas características básicas e adicionar ainda mais funcionalidade. O detalhe é que, ao “derivar”
uma classe a partir de outra, você não precisa conhecer o código da classe anterior. A sua nova classe não
trará os códigos da classe base. Eles continuarão encapsulados lá e você poderá usá-los se quiser. O dado
importante é que você não precisa manipular os códigos da classe base.
Membros herdados de uma classe base podem ser alterados na nova classe, sobrepondo a
implementação da classe base. Isso se chama Polimorfismo. Ou seja, cada novo “descendente” de uma
classe pode entender a propriedades e métodos de uma forma diferente e aplicar seus próprios códigos de
modo a redefinir seu comportamento.
Orientação a Eventos
Uma linguagem de programação pode ser orientada a objetos, sem ser orientada a eventos e vice-
versa. Porém a união desses dois conceitos torna uma linguagem muito mais poderosa e interessante.
Como o próprio nome sugere uma linguagem orientada a eventos é uma linguagem capaz de
responder a determinados “acontecimentos” dentro de um determinado ambiente. Os eventos podem ser
muitos: clique do mouse, uma tecla pressionada, a mudança de foco de um componente, etc.
Ednilson 9
Sistemas de Informação – Ambiente de Programação I
3- Variáveis
Para darmos nomes a uma variável é necessário seguir algumas regras básicas:
1. Sempre iniciar com letras (A até Z). Não use números ou símbolos para iniciar o nome de uma variável.
2. Na composição do nome não podemos usar espaço em branco, sinal de hífen, símbolos como @#*&^$%
ou sinais de pontuação.
3. Cuidado para não usar nomes reservados pela linguagem. Exemplo: If, Caption, Name, Sub, End, etc.
O Comando Dim
Exemplo:
Ednilson 10
Sistemas de Informação – Ambiente de Programação I
Tipos de Dados
Ednilson 11
Sistemas de Informação – Ambiente de Programação I
Variáveis criadas dentro de uma rotina valem somente para a rotina que a criou.
A variável Nome que criamos dentro do Private Sub, possui validade somente dentro desta rotina de
código. Chamamos de variável Local. Quando encerrar (comando End Sub) a variável será retirada da
memória.
Entretanto, se queremos que uma variável tenha abrangência em todos os métodos de uma classe,
então devemos criá-la no início da classe.
Exemplo:
End Sub
End Class
Conversão de dados
Por exemplo:
• Convert.ToChar(65) => Resultado: “A”
Ednilson 12
Sistemas de Informação – Ambiente de Programação I
4- Operadores
Operadores Matemáticos
1ª. Exponenciação
2ª. Multiplicação e Divisão
3ª. Adição e Subtração
O calculo: 3+4*2^2/4-1+5 resultará em 11. Se por algum motivo precisarmos que o programa efetue
primeiro a soma, então devemos colocá-la entre parênteses: (3+4)*2^2/4-(1+5) = 1. Usamos os parênteses
para mudar a ordem de precedência dos operadores.
Operadores Relacionais
Estes operadores fazem comparações entre variáveis ou expressões. O retorno desta comparação
será sempre um valor booleano (True ou False). Nos exemplos abaixo todas as comparações serão
verdadeiras.
Operadores Lógicos
And: Usamos quando precisamos comparar duas relações e ambas tem que ser verdadeira.
20 > 10 and 5 = 5
Já em:
Ednilson 13
Sistemas de Informação – Ambiente de Programação I
20 > 10 and 5 = 4
O Resultado será falso (False). 20 é maior que 10 mas 5 não é igual a 4. Somente 1 das duas
expressões é verdadeira.
Or: Usamos quando precisamos comparar dois relacionamentos e pelo menos um deve ser
verdadeiro ( ou um ou outro ).
20 < 10 Or 5 > 4
O resultado será verdadeiro. 20 não é menor que 10, mas 5 é maior que 4.
20 < 10 Or 4 > 5
Not: É um operador que inverte o resultado, passando algo que seria verdadeiro para falso e vice-
versa.
Not(10 > 5)
O resultado será falso. 10 é maior que 5. Seria Verdadeira a comparação, mas como possui o Not
ele inverte o resultado.
Xor: Ou exclusivo. Para ser verdadeiro, ou é uma coisa ou outra, nunca dois resutados iguais.
Retorna verdadeiro, pois o resultado das duas comparações foram diferentes. A primeira é falsa e a
segunda é verdadeira.
Retorna falso, pois o resultado das duas comparações foram semelhantes. A primeira é falsa e a
segunda também.
Retorna falso, pois o resultado das duas comparações foram semelhantes. A primeira é verdadeira
e a segunda também.
Eqv: Abreviatura de Equivalente. Faz uma equivalência lógica entre duas expressões.
Imp: Abreviatura de Implicação (uma coisa implica em outra). O resultado será False somente se a
primeira comparação for True e a segunda for False. Nos outros casos o resultado será sempre True. Este
operador é o único onde a ordem dos operadores faz diferença.
10 > 8 Imp 6 > 8 - Retorna Falso, pois a primeira comparação é Verdadeira e a segunda é Falsa.
Ednilson 14
Sistemas de Informação – Ambiente de Programação I
5- Comandos Condicionais
Os comandos condicionais executam determinadas ações desde que algumas condições sejam
favoráveis (verdadeiras).
Clausula If
O bloco If...Then é utilizado para executar um ou mais comandos condicionalmente. Ele pode ser
usado em uma linha simples ou em estrutura de bloco:
Exemplo:
If condição Then comando - Uma linha
ou
If condição Then
Bloco de Comandos - Bloco
End If
Quando colocamos uma estrutura condicional IF dentro do nosso programa estamos querendo que
o computador avalie uma condição, e conforme for o resultado siga determinado caminho. Veja os
exemplos:
Numero = Convert.ToInt32(txtNumero.Text)
If Numero < 20 Then MessageBox.Show(“Número menor que 20”)
O programa faz a verificação: Se número for menor que 20 então emita a mensagem: “Número
menor que 20”.
Quando uma determinada condição que colocamos no comando IF é verdadeira, ele começa a
executar todas as linhas que existem entre IF e END IF. Se a condição não for verdadeira então o programa
passa a execução para a linha após o END IF e ignora tudo que houver dentro da estrutura IF... END IF.
No procedimento exemplo, o programa verifica se o número é maior que 20. Caso ele não seja, ele
não executará as linhas existentes dentro da estrutura IF...END IF.
Ednilson 15
Sistemas de Informação – Ambiente de Programação I
Clausula If ...Then ...Else
Traduzindo: IF = Se, THEN = Então, ELSE = Senão, END IF = Fim do Comando Se. Esta estrutura
também pode ser usado em uma linha simples ou em estrutura de bloco, como mostram os exemplos
abaixo:
ou
If condição Then
Bloco de Comandos1 - Bloco
Else
Bloco de Comandos2 - Bloco
End If
O comando ELSE, que é sempre executado quando a condição inicial não é verdadeira.
O programa verifica: Se o número for menor que 20 exibe a mensagem: “Número é menor que 20”,
senão, exibe “Número é maior ou igual a 20”.
Lembre-se: Sempre que usar o comando IF é necessário usar o comando THEN após a condição.
Clausula ElseIf
If condição1 Then
Bloco de Comandos1
ElseIf condição2 Then
Bloco de Comandos2
Else
Bloco de Comandos3
End If
Traduzindo: IF = Se, THEN = Então, ELSEIF = Senão se, END IF = Fim do Comando Se.
Utilizamos o comando ELSEIF ao invés de ELSE sempre que existam mais de duas condições a
serem analisadas.
Ednilson 16
Sistemas de Informação – Ambiente de Programação I
O código anterior verifica se o contador é menor que 20. Se não for verifica se é então igual a 20,
senão irá avisar que contador é maior que 20.
A vantagem de se utilizar a clausula Select Case ao invés de inúmeros Ifs e ElseIfs é que a clausula
Select Case economiza a digitação e deixa o código mais claro.
Note que este comando verifica se a Opção é igual a 1, se não for, verifica se é igual a 2 e depois
se é igual a 3. Caso a variável Opção não seja 1, 2 ou 3 então o comando CASE ELSE é acionado.
O comando CASE ELSE é opcional, ou seja, não é necessário ser colocado em um Select Case. Se
ele não estiver presente e nenhuma das opções for a correta, então o Select Case será encerrado.
O comando Case pode avaliar seqüências. Estas devem ser separadas por vírgulas. Exemplo:
Case 2, 4, 6
Case 2 to 4
Caso queira que na verificação da condição seja avaliado se a variável é maior ou menor que
determinada expressão, usamos:
Case Is > 50
Uso de Operadores
As clausulas If e Select Case permitem o uso de operadores relacionais ( >,>=, <, <=, <> e = ).
Já os operadores lógicos só podem ser usados na clausula If e servem para que duas ou mais
comparações possam ser avaliadas. Os operadores lógicos mais utilizados são: And, Or e Not.
Ednilson 17
Sistemas de Informação – Ambiente de Programação I
6- Comandos de Laço
Comandos de Laço
São comandos que criam uma estrutura de repetição (loop), ou seja, criam uma estrutura
condicional que se repete até a que condição seja satisfeita.
Executa todos os comandos que existirem entre DO WHILE e o LOOP. Quando a execução do
programa encontra o comando LOOP, o DO WHILE é reavaliado e a rotina continua enquanto a condição
estabelecida esteja sendo satisfeita.
Do While Contador < 10 Faça enquanto Contador for menor que 10.
Contador = Contador + 1
Loop
Inicializamos uma variável de nome Contador com Zero, e pedimos para o programa: “Repita as
instruções abaixo enquanto Contador for menor que 10”. O comando LOOP faz com que o programa volte
para a linha do DO WHILE e teste a condição novamente. Somente quando a condição for verdadeira, ou
seja, quando Contador for maior ou igual a 10, que o programa executará a linha após o LOOP.
Neste caso o Comando Do abre a seqüência de repetição, mas não faz nenhum teste de condição.
Este teste é feito no final da estrutura com o comando LOOP WHILE, ou seja, obrigatoriamente as
instruções contidas após o comando DO serão executadas.
Do
Contador = Contador + 1
Loop While contador < 10 Faça enquanto o contador for menor que 10.
Executa todos os comandos que existem entre DO UNTIL e o LOOP. Quando a execução do
programa encontra o comando LOOP, o DO UNTIL é reavaliado e a rotina continua até que a condição
estabelecida esteja satisfeita.
Do Until contador >= 10 Faça até que Contador seja maior ou igual a 10.
Contador = Contador + 1
Loop
Inicializamos uma variável de nome Contador com Zero, e pedimos para o programa: “Repita as
instruções abaixo até que Contador seja maior ou igual que 10”. O comando LOOP faz com que o programa
volte para a linha do DO UNTIL e teste a condição de novo. Somente quando a condição for verdadeira, ou
seja, quando Contador for realmente maior ou igual a 10, que o programa executará a linha após o LOOP.
Ednilson 18
Sistemas de Informação – Ambiente de Programação I
Semelhante ao DO WHILE, dependendo do resultado da condição os comandos existentes dentro
da estrutura podem não serem executados, passando direto para a linha após o comando LOOP.
O Comando DO abre a seqüência de repetição, mas não faz nenhum teste de condição. Este teste
é feito no final da estrutura com o comando LOOP UNTIL, ou seja, obrigatoriamente as instruções contidas
após o comando DO serão executadas.
Do
Contador = Contador + 1
Loop Until Contador >= 10 Faça até que o Contador seja maior ou igual a 10.
FOR <<Intervalo>> ... NEXT (Faça de número inicial até número final)
O comando FOR faz uma contagem de um determinado intervalo de números. Diferentemente dos
demais comandos de repetição, no For o contador não precisa ser incrementado manualmente. Ao passar
pela clausula Next, ele é incrementado automaticamente. Exemplo:
Neste código, o comando FOR avisa que a variável contador será iniciada com o valor 1. As
instruções contidas na linha abaixo são executadas, e quando o comando NEXT é encontrado a execução
volta para o FOR, e a variável Contador é incrementada em mais um e assim por diante. Quando Contador
for maior que 10 a estrutura FOR/NEXT é desfeita.
STEP
Usamos o STEP em conjunto com o FOR para alterar o valor com que uma variável é
incrementada. Exemplo: Se quisermos que o comando conte de 2 em 2 colocamos FOR Variável = 1 TO 10
STEP 2.
Ednilson 19
Sistemas de Informação – Ambiente de Programação I
EXIT <<Comando>>
• Exit Sub: Força a saída da Sub. Quando a execução do programa encontra este comando,
transfere o controle do programa para a linha seguinte que chamou a rotina.
• Exit Function: Força a saída da função. Quando a execução do programa encontra este
comando, transfere o controle do programa para a linha seguinte que chamou a rotina.
• Exit Do: Força a saída de um LOOP, seja WHILE ou UNTIL, mesmo que a condição
estabelecida não seja verdadeira:
• Exit For: Força a saída de um FOR..NEXT, mesmo que o número final não tenha sido
alcançado.
Ednilson 20
Sistemas de Informação – Ambiente de Programação I
Menu Descrição
File Contém comandos para abrir e fechar projetos, imprimir dados do projeto etc.
Edit Contém comandos como cut, paste, find, undo etc.
View Contém comandos para exibir as janelas e barras de ferramentas do IDE.
Project Contém comandos para gerenciar um projeto e seus arquivos.
Build Contém comandos para compilar um programa.
Debug Contém comandos para depuração (isto é, identificar e corrigir problemas em um
programa) e executar um programa.
Data Contém comandos para interagir com bancos de dados (isto é, arquivos que armazenam
dados).
Format Contém comandos para arranjar os controles de um formulário.
Tools Contém comandos para acessar ferramentas e opções adicionais do IDE que
possibilitam a sua personalização.
Windows Contém comandos para arranjar e exibir janelas
Help Contém comandos para acessar os recursos de ajuda do IDE.
• Solution Explorer, que permite visualizar e selecionar todos os itens de uma Solution (Projetos,
Forms, Classes, Imagens, Relatórios);
Ednilson 21
Sistemas de Informação – Ambiente de Programação I
A tabela a seguir mostra as propriedades mais comuns encontradas na maioria dos componentes:
Ednilson 22
Sistemas de Informação – Ambiente de Programação I
Name Nome do Objeto
Size Especifica o tamanho do controle. Recebe um tipo Size, que tem
propriedades Height e Width.
TabIndex Configura a ordem da tabulação do controle. Quando a tecla Tab é
pressionada, o foco é transferido a diversos controles de acordo
com a ordem de tabulação. Esta ordem pode ser configurada pelo
programador.
TabStop Indica se os usuários podem empregar a tecla Tab para selecionar o
controle. Se True, então o usuário pode selecionar este controle por
meio da tecla Tab.
Text Configura o texto associado ao controle. A localização e aparência
variam dependendo do tipo do controle.
TextAlign Estabelece o alinhamento do texto no controle – as possibilidades
são uma das três posições horizontais (esquerda, centro ou direita)
e uma das três posições verticais (superior, meio ou inferior).
Visible Indica se o controle está visível.
Métodos
Focus Adquire o foco.
Hide Oculta o controle (configura Visible como False).
Show Exibe o controle (configura Visible como True).
A seguir serão exibidas tabelas com as propriedades, métodos e eventos mais comuns encontrados
nos objetos: Formulário, Label, TextBox, Button, GroupBox, Panel, CheckBox, RadioButton, ComboBox,
ListBox, PictureBox, além dos tratamentos de eventos de mouse e teclado.
Formulário
Propriedades de Descrição
Formulários
Name Nome do formulário
AutoScroll Indica se as barras de rolagem aparecerão quando o Form for pequeno
demais para exibir todos os seus controles. O padrão é False.
ControlBox Determina se um form terá os botões minimizar, maximizar e fechar.
Cursor Permite alterar o cursor do mouse.
GridSize Distância entre os pontos do Grid.
MinimizeBox e MaximizeBox Habilita ou desabilita os botões minimizar e maximizar do form.
MinimumSize e MaximumSize Indica o tamanho mínimo e máximo do formulário.
Opacity Porcentagem de opacidade de um formulário.
StartPosition Posição inicial de um Form.
Text Título de um formulário.
Window State Determina o estado inicial da janela.
Ednilson 23
Sistemas de Informação – Ambiente de Programação I
Propriedades de Descrição
TextBox
AcceptsReturn Se True, ao pressionar Enter cria uma nova linha (se a caixa de texto estiver
configurada para conter múltiplas linhas). Se False, pressionar Enter clica no
botão-padrão do formulário.
Multiline Se True, um TextBox pode se estender por múltiplas linhas. O valor-padrão é
False.
PasswordChar Se um caractere é fornecido para esta propriedade, a TextBox torna-se uma
caixa de senha, e o caractere especificado mascara cada caractere digitado
pelo usuário. Se nenhum caractere é especificado, TextBox exibe o texto
digitado.
ReadOnly Se True, TextBox tem um segundo plano cinza, e seu texto não pode ser
editado. O valor-padrão é False.
ScrollBars Para caixas de texto de múltiplas linhas, indica quais barras de rolagens
aparecerão (nome, horizontal, vertical ou both – ambas).
Text O conteúdo do texto da caixa de texto.
Evento
TextChanged Gerado quando o texto é alterado num TextBox (isto é, quando o usuário
adiciona ou elimina caracteres). Quando um programador dá um clique duplo
no controle TextBox na visualização Design, um tratador de evento vazio para
este evento é gerado.
GroupBox e Panels
Propriedades de Descrição
GroupBox
Controls Lista os controles que um GroupBox contém.
Text Especifica o texto exibido na parte superior do Groupbox (seu título).
CheckBox e RadioButtons
Propriedades de Descrição
CheckBox
Checked Indica se a CheckBox está marcada (contém uma marca de verificação
preta) ou não marcada (branca).
CheckState Indica se a CheckBox está ou não marcada. Uma enumeração com valores
Checked, Unchecked ou Indeterminate (marca e sombreia a CheckBox).
Ednilson 24
Sistemas de Informação – Ambiente de Programação I
Text Especifica o texto à direita da CheckBox (chamada de rótulo).
Evento
CheckedChanged Gerado toda vez que a CheckBox é marcada ou desmarcada. Quando um
usuário dá um clique duplo no controle CheckBox na visualização do projeto,
um tratador de eventos vazio para este evento é gerado.
CheckStateChanged Gerado quando a propriedade CheckState é alterada.
Propriedades de Descrição
RadioButton
Checked Indica se o RadioButton está marcado.
Text Especifica o texto exibido à direita do RadioButton (chamado de rótulo).
Eventos
Click Gerado quando o usuário clica no controle.
CheckedChanged Gerado toda vez que o RadioButton é marcado ou desmarcado. Quando um
usuário dá um clique duplo no controle RadioButton na visualização do
projeto, um tratador de eventos vazio para este evento é gerado.
ComboBox
ListBox
Ednilson 25
Sistemas de Informação – Ambiente de Programação I
SelectedItems Retorna uma coleção de item(ns) selecionado(s).
SelectionMode Determina o número de itens que podem selecionados, e os meios pelos
quais múltiplos itens podem ser selecionados. Os valores None, One,
MultiSimple (seleção múltipla permitinda) ou MultiExtended (seleção
múltipla permitida usando uma combinação de teclas de seta ou cliques
de mouse e teclas Shift e Control).
Sorted Indica se os itens são classificados alfabeticamente. Configurar o valor
dessa propriedade como True classifica os itens. O valor-padrão é False.
Método
GetSelected Recebe um índice como argumento, e retorna True se o item
correspondente está selecionado.
Evento
SelectedIndexChanged Gerado quando o índice selecionado é alterado. Este é o evento-padrão
quando o controle recebe um clique duplo.
PictureBox
Propriedades de Descrição
PictureBox
Image Configura a imagem a ser exibida na PictureBox.
SizeMode Enumeração que controla o tamanho e posição da imagem. Os valores são
Normal (padrão), StretchImage, AutoSize e CenterImage. Normal posiciona a
imagem no canto superior esquerdo de PictureBox, e CenterImage coloca a
imagem no meio (ambos truncam a imagem se ela for grande demais).
StretchImage redimensiona a imagem para caber em PictureBox. AutoSize
redimensiona PictureBox para conter a imagem.
Eventos
Click Gerado quando o usuário clica no controle. Evento-padrão quando este
controle recebe um clique duplo.
Ednilson 26
Sistemas de Informação – Ambiente de Programação I
Prefixos de Controles
Prefixo Controle
Frm Form
lbl Label
txt TextBox
cmd Button
chk CheckBox
rad RadioButton
pic PictureBox
mnu Menu
mnuitm MenuItem
lnklbl LinkLabel
lst ListBox
chklst CheckedListBox
cbo ComboBox
tre TreeView
lvw ListView
ils ImageList
tbc TabControl
tbp TabPage
tmr Timer
Ednilson 27
Sistemas de Informação – Ambiente de Programação I
Existem dois tipos básicos de procedimentos: Sub e Function. A diferença básica é que o
procedimento Function retorna um valor (ação típica de uma função matemática), enquanto que um
procedimento Sub não retorna valor algum (ele realiza apenas uma tarefa).
Procedimentos Sub
A Lista de argumentos é opcional. Se for necessário que a rotina receba mais de um parâmetro,
estes devem ser separados por vírgulas. Cada argumento é escrito como uma declaração de variável e atua
como tal dentro do procedimento. A sintaxe de cada argumento é a seguinte:
ByVal indica que o parâmetro é passado por valor e ByRef, que o parâmetro é passado por
referência (endereço). O valor de uma variável pode ser alterado por um procedimento quando ele é
passado por referência (ByRef). Ao contrário, somente uma cópia da variável é passada para o
procedimento quando o mesmo é passado por valor (ByVal). Se o procedimento alterar seu valor, esta
alteração afeta somente a cópia e não a variável original.
Sub Limpar()
txtValor.Clear()
lstLoop.Items.Clear()
End Sub
lstLoop.Items.Clear()
'Para i = 0 até o conteúdo da variável valor
For i = 0 To Valor
lstLoop.Items.Add(i)
Next 'Atualiza o contador automaticamente
End Sub
ListarValores(15)
O procedimento passa o valor 15 como parâmetro para a Sub ListarValores através da variável
Valor.
Ednilson 28
Sistemas de Informação – Ambiente de Programação I
Procedimentos Function
Ednilson 29
Sistemas de Informação – Ambiente de Programação I
9- Tratamento de Erros
O tratamento de erro no .NET Framework se dá através dos comandos Try / Catch / Finally, sendo
que o comando Finally é opcional.
Sintaxe:
Try
Bloco de Comandos
Catch ex As Exception
Comandos que serão executados em caso de erro
Finally
Bloco de comandos opcional. Será executado independete da rotina ter ou não gerado uma exceção
End Try
O bloco Finally, quando declarado, sempre é executado. Ele é usado principalmente para a
liberação dos recursos utilizados na rotina.
É possível tratar erros específicos de maneira personalizada, através das especializações da classe
Exception. O exemplo a seguir mostra o tratamento de um erro caso ocorra uma exceção do tipo
OverflowException. Caso ocorra qualquer outro tipo de exceção, esta é tratada de forma gerérica através da
classe Exception.
For i = 2 To Valor
resultado *= i
Next
Return resultado
Catch ex As OverflowException
MessageBox.Show("Número muito grande para ser calculado!")
Return 0
Catch ex As Exception
MessageBox.Show(ex.Message)
Return 0
End Try
End Function
Ednilson 30
Sistemas de Informação – Ambiente de Programação I
Sempre que ocorre um erro dentro de uma rotina, o sistema verifica se foi especificado tratamento
de erro para aquela rotina. Em caso positivo, o erro é tratado na rotina. Em caso negativo, o sistema verifica
se foi especificado tratamento de erro na rotina chamadora daquela função. Caso exista, o tratamento é
efetuado, caso contrário, a procura por tratamento de erro prossegue na árvore de rotinas chamadoras, até
que esta acabe. Se nenhum tratamento de erro tiver sido especificado para aquela árvore de chamadas,
uma execução ocorre.
Ednilson 31
Sistemas de Informação – Ambiente de Programação I
10 - Classe String
A critério de exemplo, criaremos uma variável chamada Texto, do tipo String contendo a palavra “Cachorro”:
Dim Texto as String = “Cachorro”
Ednilson 32
Sistemas de Informação – Ambiente de Programação I
Ednilson 33