Universidade do Vale do ParaíbaColégio Técnico Antônio Teixeira Fernandes
Disciplina POO
Material III-Bimestre
Introdução e conceitos fundamentais Introdução e conceitos fundamentais de aplicações gráficas usando
janelashttp://www1.univap.br/~wagner
Prof. Responsável
Wagner Santos C. de Jesus
1
Histórico C#
A linguagemC# (Sharp) foi influenciada linguagens C++e Java que ganhoupopularidadenacomunidadede informáticapopularidadenacomunidadede informáticaquando a Microsoft decidiu incluí-la nopacote Visual Studio.
2
Criador C#
Engenheiro deSistemas Microsoft,que além do C# foique além do C# foicriador do TurboPascal e do Delphi.
3
Anders Hejlsberg
Ambiente RAD (C#)
C++C#
4
C++Java C#
IDE (Ambiente Integrado (Ambiente Integrado de Desenvolvimento)
5
Conceito de IDE
É um programa de computador quereúne características e ferramentas de apoioao desenvolvimentode software com oao desenvolvimentode software com oobjetivo de agilizar este processo.
6
RAD (Desenvolvimento (Desenvolvimento
Rápido de Aplicativos)
7
Conceito de RAD
Normalmente as IDE facilitam asTécnicas de RAD (DesenvolvimentoTécnicas de RAD (DesenvolvimentoRápido de Aplicativos).
8
Mono - Desktop
9
Gedit
Ilustração de Ferramenta RAD
10
Lazarus IDE (RAD)
C++ Builder
11
GLgBuilder
12
Java Class LibraryAJAX Graphics Server for Mobile DeploymentCross-Platform C/C++ LibrariesC# DLL and ActiveX Control(Windows only)
Funcionamento da Ferramenta
Programador
13
IDE Editor do Visual Studio
C# GDI Windows
GDI - Interface Dispositivos Gráficos
Características
• O Java utiliza comentários Javadoc e o C#utiliza comentários baseados emXML ;
• O Java utiliza a JVM, C# e .Net Framework.
• Compiladores de linha de comando.• Compiladores de linha de comando.
• Compiladores para Windows, Windows Mobile, Linux, Mac OS X e Solaris.
• Orientação à Objetos.
• Manipulação de Banco de Dados.
14
Janela Principal do Ambiente
15
Principais modelos para criação de aplicações.
Modelo Tipos de Projetos Criados
Windows Forms Aplication (Aplicativo Windows Foms) (*)
Aplicação desktop para o sistema operacional Windows
16
Windows Foms) (*) operacional Windows
WPF Application (Aplicativo WPF) Aplicação Desktop para criação de templates (Código Reutilizáveis)
Console Application (Aplicativo de console) (*)
Aplicação que ocorre apartir de linha de comandos do Windows.
Linguagem de Programação Características OperacionaisCaracterísticas Operacionais
17
Característica principais de uma Linguagem de Programação (C#)
– Sintaxe (Escrita)
– Semântica (Significado)– Semântica (Significado)
– Pragmática (Lógica)
Estrutura de um programa C#Aplicação (Console)
using System;using System.Collections.Generic;using System.Linq;using System.Text;
namespace ConsoleApplication1{
Determina pacotes que deverão ser usados pelo programa.
{class Program{
static void Main(string[] args){
......................................}
}} 19
Declara escopo que contémumconjunto de classes relacionadas.
Área de Template
Tipos de DadosDados
20
Conceito de Tipos de Dados
O tipo de dados representa o tipo deinformação que uma variável ou umaconstante pode armazenarconstante pode armazenarestabelecendo seu limite mínimo emáximo de valores suportados.
21
Exemplo
4 2 10 0 0 0
1 0 0 1
Inteiro de 3 bits (int3)n2
n = 3
22
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
int3 a = 5;
Tipos em C# (u - unsigned)
Tipo de Dados ArmazenamentoByte, Ushort, Uint e Ulong Números inteiros positivos
Sbyte, Short, Int e Long Números inteiros positivos e negativos
23
Float, Double e Decimal Números inteiros e reais (Positivos e negativos)
Char e String Caracteres e cadeias de caracteres.
Bool Valores lógicos
Literais (Valores pré-definidos)
Tipo de Dados Sufixo Exemplo
uint U uint valor = 35U;
long L long valor = 35L;
ulong UL ulong valor = 10UL;
24
ulong UL ulong valor = 10UL;
float F Float valor = 20.3F;
double D double valor = 20.3D;
decimal M decimal valor = 20.3M;
Tipos Principais
Tipo de Dados Tamanho Exemplo
Int 4 bytes int valor = 35;
long 8 bytes long valor = 35;
byte 1 byte byte valor = 255;
float 4 bytes float valor = 20.3;
25
float 4 bytes float valor = 20.3;
double 8 bytes double valor = 20.3;
decimal 16 bytes decimal valor = 20.3;
char 2 bytes Apenas um caractere
string - Conjunto de caracteres
bool 1 byte true/false (Booleano)
Operações Matemáticas de Matemáticas de
Lógicos
26
Operadores Aritméticos
+ Adição
- Subtração
* - Multiplicação* - Multiplicação
/ - Divisão
% - Resto da Divisão (Módulo)
27
Operadores de atribuição
= Atribuição simples
+= Atribuição com adição
-= Atribuição com subtração
*= Atribuição com multiplicação*= Atribuição com multiplicação
/= Atribuição com divisão
%= Atribuição com módulo
28
Operadores Lógicos
! - Não inverso&& - e lógico&& - e lógico| | - ou lógico
29
Operadores Relacionais
= = - Igual
!= - Diferente de
< - Menor que< - Menor que
> - Maior que
>= - Maior ou Igual
<= - Menor ou Igual
30
Operadores de Incremento e decremento
++ - Incremento-- - Decremento
31
Exemplo atribuição
int a = 5;
a++; // Resultado de a = 6.
int y = 4;int y = 4;
int k = y++; // Resultado y = 5 e k = 4
32
Linguagem de Programação C#
•Atribuição
•Condição •Condição
•Repetição
33
Condicional if()
if(<condição>) {[Bloco-Instruções-1]
}}else {
[Bloco-Instruções-2]}
34
Condicional if()
if(<condição>) [Instrução-1]
else else [Instrução-2]
35
Exemplo de if()
char sexo = ‘M’;
if(sexo == ‘F’) {
idade = 45;
cintura = 20;
nasc = “Brasileira”;
}
36
switch(): cadeia de condiçãoswitch(<expressão>) {
case valor1:
[bloco de instruções]
break;
case valor2:case valor2:
[bloco de instruções]
break;
default:
[bloco de instruções]
break;
} 37
Exemplo switch()switch(categoria) {
case 1:
bonus = salario * 0.1;
break;
case 6:
bonus = salario * 0.07;
A instrução break deve serusada para que hajaabandono da estrutura.
break;
case 7:
bonus = 100;
break;
default:
bonus = 0;
break;
}38
Estrutura de repetiçãorepetição
39
while():Enquanto a condição verdadeira executa.
while (<condição>) {
[bloco de instruções]
}
40
do{
[bloco de instruções]
} while (<condição>);
Exemplo: while()
int num = 20;
int contador = 0;
while (num > 10)while (num > 10)
{
num = num - 1;
contador = contador + 1;
}
41
Exemplo: do while()
int num = 8;
int contador = 0;
do {do {
num = num - 1;
contador = contador + 1;
} while (num != 0);
42
Instrução for()
for(<inicio>;<condição>;<atualização>)
{
[bloco de instruções]
}
43
Exemplo do for()
int num = 8;
int contador = 0;
for (int i = 0; i <= 10; i++)for (int i = 0; i <= 10; i++)
{
num = num - 1;
contador = contador + 1;
}44
Quebra e permanência de ciclo em estruturas de ciclo em estruturas de
Controle.
45
Quebra de ciclo (break)
46
Estrutura for (para)Estrutura while (enquanto)
Exemplo Prático (break)
int num = 8;
int contador = 0;
while (num != 0) {
if (contador == 2)if (contador == 2)
break;
num = num - 1;
contador = contador + 1;
}
47
Permanência de ciclo (continue)
48
Estrutura for (para) Estrutura while (enquanto)
Exemplo Prático (continue)int num = 8;int contador = 0;
while (num != 0) {if (contador == 2){
num = 0;num = 0;continue;
}num = num - 1;contador = contador + 1;
}
49
Entrada e Saída de Dadosde Dados
50
Classe: Console
Representa a entrada, assaídas, e os fluxos de erro padrãopara aplicativos do console. Estaclasse não pode ser herdada.classe não pode ser herdada.
51
Sistema Operacional
Console
Processador
Dispositivos de Entrada e Saída
Entrada de dados Métodos read e readLine()
Método Descrição
read() Realiza a leitura de umcaractere pelo teclado.
52
caractere pelo teclado.readLine() Realiza a leitura de uma String
pelo teclado.
Saída de dados Métodos write e writeLine()
Método Descrição
write() Realiza a escrita de uma stringsem salto de linhas.
53
sem salto de linhas.writeLine() Realiza a escrita de uma String
com salto de linhas.
Exemplo de Entrada e Saida
String str = Console.ReadLine();Console.WriteLine(str);Console.WriteLine(str);
54
Conversão de Tipos de DadosTipos de Dados
55
Método: Parse()
Converte uma String em umnúmero de acordo com seutipo de dado especificado.tipo de dado especificado.
56
Referência de tipos slide 23.
Exemplo de conversão de tipos
double num1 = double.Parse(Console.ReadLine());double num2 = double.Parse(Console.ReadLine());double soma = num1 / num2;Console.WriteLine(soma);
57
Objetos Visuais Básicos e Manipulação de e Manipulação de
Eventos
58
Componente que permite uma entrada de dados em modo gráfico.
Propriedades Importantes:Propriedades Importantes:
text – Captura dados em uma caixa de texto.(String)
Visible – Boolena
lines – Array de linhas para caixa de texto.
59
Exemplo: textBox
Sintaxe:
textBox1.text = <String>;
Exemplo:
textBox1.text = “Formação de TI”;
60
Componente que exibe mensagens em um formulário.
Propriedade:Propriedade:
text: Insere uma string no label.
61
Exemplo: Label
Sintaxe:
Label.text = <String>;Label.text = <String>;
Exemplo:
Label.text = “Escola”;62
Componente que cria umbotão de comandos.Permitindo o acionamento de uma ação definidaporumprocesso.porumprocesso.
Propriedade:
text: Insere umrótulo no botão de comandos.
63
Conceito de Evento
64
Eventos
Eventossãoaçõesdisparadaspelo usuárioou dispositivoemumdeterminadomomento.
65
umdeterminadomomento.
Controle de Eventos
SensorSolenóideTecladoDisp. Rede
Evento Disparado
66
Código de programa
Disp. Rede
Controlador
Evento Load()
private void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("Carregou Antes ****");
}
67
Executa o código antes de carregar o formulário.
Evento FormClosed()
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
MessageBox.Show("Fechar Form");
}}
68
Executa o código após encerramento do formulário
Evento DoubleClick()
private void Form1_DoubleClick(object sender, EventArgs e)
{
MessageBox.Show("Efetuou clique em = "+this.Name);
}}
69
Dispara o código usando Duplo Click.
Evento MouseMove()private void FrmTeste_MouseMove(object sender, MouseEventArgs e)
{
MessageBox.Show("Moveu o mouse ");
}
70
Realiza o código quando mover o mouse.
Evento MouseHover()private void FrmTeste_MouseHover(object sender, EventArgs e)
{
MessageBox.Show(“Ao colocar o mouse no objeto ");
}
71
Realiza código quando apontar com mouse.
Eventos de Captura de teclasCaptura de teclas
72
Eventos KeyDown()private void FrmTeste_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F3 )
{
MessageBox.Show("Teste");MessageBox.Show("Teste");
}
}
73
Captura o código da tecla pressionada
Keys: Objeto que encapsula constantes
Reúne umvasto número de constantesque representamvalores das teclas decontrole.controle.
Sintaxe: Keys.<Teclas>
74
Controle do teclado (Keys)“<Left>” – Pressionar a tecla seta para esquerda.
“<Right>” - Pressionar a tecla seta para Direita.
“<Home>” - Pressionar a tecla Home.
“<End>” - Pressionar a tecla End .
“<Insert>” - Pressionar a tecla Inserir.
“<Delete>” - Pressionar a tecla Delete.
“<BackSpace>” - Pressionar a tecla BackSpace.
“<Enter>” - Pressionar a tecla Enter.
75
“<Enter>” - Pressionar a tecla Enter.
“<Up>” - Pressionar a tecla Seta para cima.
“<Down>” - Pressionar a tecla Seta para baixo.
“<PageUp>” - Pressionar a tecla Page Up.
<PageDown>” - Pressionar a tecla Page Down.
“<tab>” - Pressionar a tecla Tab.
“<Escape>” - Pressionar a tecla ESC.
“<Space>” – Pressionar a tecla espaço.
KeyCode
Vem a ser uma propriedade do objeto (e) da classe KeyEventArgs.
Exemplo:
if (e.KeyCode == Keys.F2 )
{
MessageBox.Show("Tecla F2 pressionada ");
}76
Evento: KeyUp
private void FrmTeste_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.A)
{
MessageBox.Show("Liberado a tecla <A>");MessageBox.Show("Liberado a tecla <A>");
}
}
77
KeyUp: Quando soltar a tecla pressionada.
Evento KeyPress
private void FrmTeste_KeyPress(object sender, KeyPressEventArgs e)
{
MessageBox.Show("Caracter obtido foi "+e.KeyChar );
}}
Retorna com a tecla pressionada.
78
Objetos de Controle de listas Controle de listas
de Dados
79
Caixa de combinação permite inserir uma lista dedados escondida para umfutura seleção.
Propriedade: Items
Métodos:
Add(<ExpS>): Adicionaumastringnalista.Add(<ExpS>): Adicionaumastringnalista.
Insert(<ExpN>,<ExpS>): Insere emuma posiçãoda lista.
Remove(<ItemL>): Remove o iteminformado dalista.
RemoveAt(<Indice>): Remove umitem medianteao índice informado. 80
Exemplo Prático de ComboBox:
ComboBox1.Items.Add(“Item-1”);
ComboBox1.Items.Add(“Item-2”);
ComboBox1.Items.Add(“Item-3”);ComboBox1.Items.Add(“Item-3”);
ComboBox1.Items.Add(“Item-4”);
ComboBox1.Items.Add(“Item-5”);
81
Exemplo 2: Prático de Insert:
Insere um elemento e uma determinada posição da lista.
Exemplo:
ComboBox1.Items.Insert(2,“Item-1”);
82
Exemplo 3: Prático de Remove():
Retira uma String, se a mesma, existir na lista.
Exemplo:
ComboBox1.Items.Remove(“Item-3”);
83
Exemplo 4: Prático de Remove():
Retira um elemento em uma determinando o elemento da lista.
Exemplo:
ComboBox1.Items.RemoveAt(3);
84
Método: Count
Retorna com a quantidade de elementos de uma lista.
Sintaxe:Sintaxe:
<VarInt> = comboBox1.items.Count;
85
Caixa de combinação permiteinserir umalista de dadosonde oselementosserãoapresentadosnatelaelementosserãoapresentadosnatelaemdeterminadonúmerodelinhas.
86
Observação
Todos os métodos mencionadosna caixa de combinação serãona caixa de combinação serãoherdados pelalista.
87
Capturando Dados de uma Lista ou Combo.uma Lista ou Combo.
88
• Captura um elemento da lista ou combomediante a seleção do usuário.
• Captura um elementoda lista informado o
Saída de dados usando Lista ou Combo.
89
• Captura um elementoda lista informado oindice.
• Captura vários elementos selecionados da lista(Lista).
Propriedaede Items[],Text Método toString()Método toString()
90
text
Captura um elemento da lista ou combo mediante a seleção do usuário.
Exemplo:
String dado = comboBox1.text;
91
Items[]
Captura um elemento da lista informado o índice.
Exemplo:
String dado = listBox1.Items[2].ToString();
92
Propriedade: SelectionMode
Determina se caixa de lista será de Multipla seleção ou mono seleção.
Status da propriedade:Status da propriedade:
None:Seleção Simples
MultiSimple: Seleções multiplas
93
Determina Múltiplas seleções
listBox1.SelectionMode = SelectionMode.MultiSimple;
Possibilita ao usuário a seleção de Possibilita ao usuário a seleção de mais de um item em uma lista.
94
Método: GetSelected()
Verifica se um determinado item da lista encontra-se selecionado ou não, retornando TRUE ou FALSE.TRUE ou FALSE.
Sintaxe:
<VarB> = listBox1.GetSelected(<indice>);
95
Captura os elementos selecionados em uma lista
for (int i = 0; i <= listBox1.Items.Count - 1; i++)
{
if( listBox1.GetSelected(i))if( listBox1.GetSelected(i))
MessageBox.Show(listBox1.Items[i].ToString());
}
96
Botões de Rádio e Caixas de VerificaçãoCaixas de Verificação
97
Botão de rádio Controle usadoquando se encontra um númeroreduzido de opções, dependendodereduzido de opções, dependendodeapenas uma acontecer para que haja aexecuçãode umprocessamento.
98
Propriedades principais (RadioButton)
Propriedade Descrição
checked Retorna um booleano caso botão esteja selecionado.
Name Cria o nome do objeto da
99
Name Cria o nome do objeto da classe RadioButton
Exemplo RadioButton
int sx = 1;
if (!RadioButton1.Checked)
{{
sx = 2;
}
100
CheckBox: Cria caixa deverificação permitindo que todosos dados sejam passiveis deos dados sejam passiveis deseleção.
101
Propriedades principais (CkeckBox)
Propriedade Descrição
checked Retorna um booleano caso botão esteja selecionado.
Name Cria o nome do objeto da
102
Name Cria o nome do objeto da classe RadioButton
Exemplo: CheckBox
if (CheckBox1.Checked)
{
......
103
......
}
Controle de Calendário
104
Realiza a criação de umacaixa de combinação nocaixa de combinação noformatodecalendário.
105
Exemplo: DateTimePicker
Saída do objeto DateTimePicker
106
Propriedades (DateTimePicker)Propriedade Descrição
Value Retorna a Data escolhida comsua respectiva hora, para umobjeto DateTime.
Day Retorna o dia para uma data
107
Day Retorna o dia para uma dataescolhida.
Month Retorna o mês para uma dataescolhida.
Year Retorna o ano para uma dataescolhida.
Exemplo: DataTimePicker
DateTime data = dateTimePicker1.Value;
MessageBox.Show(""+data.Day ) ;
MessageBox.Show("" + data.Month );MessageBox.Show("" + data.Month );
MessageBox.Show("" + data.Year );
108
Leitura e Exibição de ImagemImagem
109
Permiteexibir comosaídaodesenhodeumaimagem.desenhodeumaimagem.
110
Propriedades (PictureBox)
Propriedade DescriçãoImage Permite exibir uma imagem no vídeo.
SizeMode Normal,StrechImage, AutoSizee
111
SizeMode Normal,StrechImage, AutoSizee CenterImage.
Load():Método que carrega uma imagem em tempo de execução
Sintaxe:
pictureBox1.Load(<ExpS>);
<ExpS>:determina o caminho e o nome da <ExpS>:determina o caminho e o nome da imagem.
Exemplo:
pictureBox1.Load("C:\\flor.bmp");
112
Controle de TempoControle de Tempo
113
Cria um controlador detempopara resolver problemas depara resolver problemas detempo em uma determinadaaplicação.
114
Propriedades: Timer
Propriedade DescriçãoEnable Liga e desliga o temporizador
(true,False).
Interval Determinao tempo de espera para
115
Interval Determinao tempo de espera para execução do evento dentro do temporizado.
Exemplo de atividade temporizada
private void timer1_Tick_1(object sender, EventArgs e)
{
label2.Text = "Mostra - "+x;
x++;
}
116
Barra de Progressão Barra de Progressão
117
Barra de Progressão
Controle que permite verificarevolução de um determinadoevolução de um determinadoprocesso.
118
Propriedade (ProgressBar)
Propriedade Descrição
Maximum Valor máximo de limite da barra deprogressão.
Minimum Valor mínimo para inicio da barra de
119
progressão.
Value Valor de encaminhamento de progresso dabarra.
Step Número de saltos para preenchimento da barrade progressão.
Exemplo de evolução da barra de progressão
private void timer1_Tick_1(object sender, EventArgs e){
if(progressBar1.Value < 100)if(progressBar1.Value < 100)
progressBar1.Value += 1;
}
120
Top Related