Upload
internet
View
104
Download
0
Embed Size (px)
Citation preview
Windows Forms
2º Semestre 2010 > PUCPR > TPU
Bruno C. de PaulaBruno C. de Paula
Resumo O objetivo desta aula é conhecer a biblioteca
Windows Forms; Esta biblioteca é utilizada na criação de
interfaces gráficas voltadas para ambiente Desktop;
Vamos nos focar, nesta aula, em entender a organização de arquivos do Windows Forms, os grupos de componentes e sua instanciação em tempo de execução;
Em ambiente Windows temos muito mais poder do que em ambiente web: threads, sockets, impressão, 3d, etc.
211/04/23
3
Você não está aprendendo só Windows Forms!A filosofia RAD (Rapid Application
Development) aplicada em Windows Forms é semelhante a de diversas bibliotecas: Swing, Qt, VLC (Delphi),etc.
4
Grupos de Componentes
Visual Studio 2008 / Windows Forms;Aproximadamente 60 controles já
instalados;A maior parte dos componentes é
derivado de uma classe do namespace System.Windows;
Componentes tem um aspecto diferente em tempo de projeto e em tempo de execução.
5
Tempo de Projeto
6
Tempo de Execução
7
Tempo de Projeto
8
11/04/23
Common Controls
Common Controls:21 controles;principais controles;interface Windows
básica;
9
Containers
6 controles;Organizam os
demais controles em painéis, abas, grupos;
10
Menus e Toolbars
5 controles; Itens de menu;Barras de
ferramentas;
11
Data
4 controles;Acesso a:
banco de dados;
Arquivos XML;
Arquivos texto;
Etc.
12
Components
14 componentes;Componentes diversos;Sem representação
visual;
13
Printing
5 controles;Gerenciamento de
impressão;
14
Dialogs
5 componentes;Caixas de
Diálogo;
15
WPF Interoperability
1 componente;Permite que se
use interfaces WPF dentro de Windows Forms.
16
Outros
Centenas de opções instaláveis pela Internet;
Ver: http://windowsclient.net/default.aspx
17
Windows Forms Designer Componentes visuais:
Caixa de Texto, Botão, etc.
Componentes não-visuais:Timer;Acesso à Porta Serial;
Componentes instanciados em tempo de execução.
18
19
Componentes Visuais e Não-Visuais
Definição e Instanciação automática ao arrastar o controle na tela;
Valores das principais propriedades também são preenchidos;
No caso dos componentes visuais: colocação em um contâiner pai;
Cada componente está associado a uma variável da classe do formulário no qual está o componente (FormXXX.Designer.cs);
Nome da Instância
Classe do Componente
21
Definição automática
22
Instanciação automática
23
Preenchimento de Propriedades
24
Colocação em um contâiner pai
25
Grupos de Propriedades
Accessibility: acessibilidade;Appearance: aparência gráfica,
corresponde ao CSS, depende do componente;
Behavior: comportamento, geralmente associado a um código, depende do componete;
Data: ligação entre controles e dados;
26
Grupos de Propriedades
Design: como a instância do objeto deve ser criada;
Focus: controla a validação dos dados;
Layout: estilo de layout, corresponde ao layout em CSS.
27
Componentes criados em tempo de execução (criação e propriedades)
// 1) Criar a instância do botão.Button b = new Button(); // 2) Colocar na posição (0,0) b.Location = new Point(0, 0); // 3) Criar com largura 100 x 20pxb.Size = new Size(100, 20); // 4) Colocar o texto no botão.b.Text = "Sou um botão!";
28
Eixo X e Y na tela!
29
Componentes criados em tempo de execução (colocação em um contâiner pai)
// 5) Colocar em Contâiner Pai. Supondo que esteja no form.
Controls.Add(b);
Outra possibilidade, colocação em Group Box (tipo de painel):
groupBox1.Controls.Add(b);
30
Componentes criados em tempo de execução (eventos via Delegates) //6) Associar o método ExibirMensagem
ao evento:b.Click += new
EventHandler(ExibirMensagem);
31
Componentes criados em tempo de execução
private void ExibirMensagem(object sender, EventArgs e)
{ //...}sender: objeto foco do evento;e: informações relacionadas ao evento;
32
Exemplo completo!Cuidado com o type casting!