Bruno C. de Paula
Windows Forms
2º Semestre 2010 > PUCPR > TPU
05/11/2015
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.

2
Você não está aprendendo só
Windows Forms!
A
3
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
Common Controls
 Common
Controls:
21 controles;
principais controles;
interface Windows
básica;
05/11/2015
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ãovisuais:
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.

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 20px
 b.Size = new Size(100, 20);
 // 4) Colocar o texto no botão.
 b.Text = "Sou um botão!";
27
28
Eixo X e Y na tela!
Componentes criados em tempo de execução
(colocação em um contâiner pai)
29
 //
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);
Componentes criados em tempo de
execução (eventos via Delegates)
 //6)
Associar o método ExibirMensagem ao
evento:
 b.Click += new
EventHandler(ExibirMensagem);
30
Componentes criados em tempo de
execução
31
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!
Download

Apresentação associada à aula