![Page 1: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/1.jpg)
Windows Forms
2º Semestre 2010 > PUCPR > TPU
Bruno C. de PaulaBruno C. de Paula
![Page 2: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/2.jpg)
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
![Page 3: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/3.jpg)
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.
![Page 4: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/4.jpg)
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.
![Page 5: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/5.jpg)
5
Tempo de Projeto
![Page 6: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/6.jpg)
6
Tempo de Execução
![Page 7: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/7.jpg)
7
Tempo de Projeto
![Page 8: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/8.jpg)
8
11/04/23
Common Controls
Common Controls:21 controles;principais controles;interface Windows
básica;
![Page 9: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/9.jpg)
9
Containers
6 controles;Organizam os
demais controles em painéis, abas, grupos;
![Page 10: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/10.jpg)
10
Menus e Toolbars
5 controles; Itens de menu;Barras de
ferramentas;
![Page 11: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/11.jpg)
11
Data
4 controles;Acesso a:
banco de dados;
Arquivos XML;
Arquivos texto;
Etc.
![Page 12: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/12.jpg)
12
Components
14 componentes;Componentes diversos;Sem representação
visual;
![Page 13: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/13.jpg)
13
Printing
5 controles;Gerenciamento de
impressão;
![Page 14: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/14.jpg)
14
Dialogs
5 componentes;Caixas de
Diálogo;
![Page 15: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/15.jpg)
15
WPF Interoperability
1 componente;Permite que se
use interfaces WPF dentro de Windows Forms.
![Page 16: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/16.jpg)
16
Outros
Centenas de opções instaláveis pela Internet;
Ver: http://windowsclient.net/default.aspx
![Page 17: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/17.jpg)
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.
![Page 18: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/18.jpg)
18
![Page 19: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/19.jpg)
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);
![Page 20: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/20.jpg)
Nome da Instância
Classe do Componente
![Page 21: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/21.jpg)
21
Definição automática
![Page 22: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/22.jpg)
22
Instanciação automática
![Page 23: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/23.jpg)
23
Preenchimento de Propriedades
![Page 24: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/24.jpg)
24
Colocação em um contâiner pai
![Page 25: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/25.jpg)
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;
![Page 26: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/26.jpg)
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.
![Page 27: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/27.jpg)
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!";
![Page 28: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/28.jpg)
28
Eixo X e Y na tela!
![Page 29: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/29.jpg)
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);
![Page 30: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/30.jpg)
30
Componentes criados em tempo de execução (eventos via Delegates) //6) Associar o método ExibirMensagem
ao evento:b.Click += new
EventHandler(ExibirMensagem);
![Page 31: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/31.jpg)
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;
![Page 32: Windows Forms 2º Semestre 2010 > PUCPR > TPU Bruno C. de Paula](https://reader036.vdocuments.site/reader036/viewer/2022081518/552fc0fe497959413d8bbae9/html5/thumbnails/32.jpg)
32
Exemplo completo!Cuidado com o type casting!