Programação RAD para
Windows usando o Visual Studio
2008
Bruno Campagnolo de Paula
Sumário
•
•
•
•
•
•
•
•
•
A ferramenta Visual Studio 2008;
Versões;
Edições;
Arquitetura de arquivos;
Editor de código;
Atalhos;
Depurador;
Win Forms Designer;
Estrutura de Menus.
Objetivo
• Referência à ferramenta e retorno quando necessário;
• Apresentação de termos importantes para desenvolvimento visual;
• Não é suficiente saber bem uma linguagem de progração, você
também deve saber bem como utilizar bem as ferramentas
construídas para ela;
• Por exemplo, observo POUCOS alunos depurando da maneira
certa!
• E pior, muitos não conhecem as ferramentas disponíveis.
• Na prática: PERCA MENOS TEMPO E SEJA MAIS
PRODUTIVO.
• IMPRIMA ESTE MATERIAL!
Visual Studio 2008 (VS2008)
• Ambiente de desenvolvimento integrado (IDE - Integrated
Development Environment) da Microsoft para geração rápida de
aplicações (RAD - Rapid Application Development).
• Voltada ao desenvolvimento de aplicações para:
o Windows;
o Windows Mobile;
• Principais linguagens suportadas:
o Visual C#;
o Visual Basic;
o Visual J#: descontinuado!
o Visual C++;
o F#, Iron Python, Ruby.Net: outros produtos.
• Versões:
o Visual Studio 97, Visual Studio 6.0;
o Visual Studio .Net (2002), Visual Studio .Net 2003;
o Visual Studio 2005, Visual Studio 2008.
VS2008 - Edições
• Express: limitada, voltada para
estudantes, não tem MSDN completa,
o Visual Web Developer é usado para
programação para Web;
• Standard: IDE integrada, diversas
funcionalidades a mais.
• Professional: Depuração remota,
gerenciamento de DB SQL Server.
• Tools for Office: Para
desenvolvimento voltado ao Office.
• Team System: grupos de trabalho;
• Mais detalhes na planilha em:
o http://tinyurl.com/2dlbdb
VS2008 Arquitetura de Arquivos do Projeto
• Arquivos (.cs, .vb, .resx, .settings, etc) estão contidos dentro de
uma estrutura de pastas denominado Projeto;
• Uma solução (solution) é um conjunto de projetos e é representado
por um arquivo com a extensão .sln;
• Na PUCPR os seus arquivos estão,
geralmente na pasta:
o C:\Temp\VisualStudio2008\Projects
VS2008 Características do Editor de Código (1/3)
• Algumas características só se aplicam
ao C#;
• Syntax Highlighting: cores
diferenciadas para elementos do
código;
• Code Completion (IntelliSense):
menu preditivo de comandos, CTRL +
ESPAÇO.
• Facilidade para refatoração de código;
• Background compiling: compilação
incremental, permite a correção
imediata de erros.
VS2008 Características do Editor de
Código (2/3)
• Documentação integrada à IDE:
o MSDN: Microsoft Developer Network;
o Própria via comentários XML:
 http://www.msdnbrasil.com.br/docs/vstudionet/visualstudio_coment
sxml.doc
• Bookmarks de código;
• Delimitação de regiões (outlining) no código a partir da diretiva #region /
#endregion;
VS2008 Características do Editor de Código (3/3)
• Suporte a atalhos de teclado:
o Ver poster em:
http://tinyurl.com/25sez4
o Ver, principalmente, os
atalhos de refatoração (CTRL
+ R);
• Code Snippets:
o Fragmentos de código;
o Exemplos: cw, if, foreach,
switch, while, ;
o Digitar o nome do code
snippet e clicar TAB 2x ou
pelo menu contextual;
• Refatoração:
VS2008 - Atalhos
o CTRL+R, R:
renomear campo;
• Execução e Depuração:
o CTRL+R, M: extrair
o F5: Iniciar depuração;
método;
o F6: Build (sem execução);
o CTRL+R, E:
o SHIFT + F5: Parar depuração;
encapsular campo.
o CTRL + F5: Executar sem depurar;
• Bookmarks:
o F10: Step over;
o CTRL + B, T:
o F11: Step into;
Colocar Bookmark;
o CTRL + D, I: Immediate Window;
o CTRL + B, N:
• Editor:
Próximo Bookmark;
o CTRL + ESPAÇO: IntelliSense;
o CTRL + B, P:
o CTRL + E, C: Comentar linhas;
Bookmark Anterior;
o CTRL + E, U: Descomentar linhas;
o CTRL + E, D: Identação do documento;
o CTRL + E, F: Identação da seleção;
o F7: Modo de Código;
o SHIFT + F7: Modo de Design;
•
•
•
•
VS2008
Características do Depurador
• Disassembly (obtenção do código
Depuração Tradicional:
de máquina)do código, caso não
Breakpoints,Watches, Step Into, esteja disponível;
Step Over;
• Edit and Continue: Edição do
Call Stack: pilha de chamadas;
código enquanto se depura;
Depura programas externos (.exe•e Data Tooltips: mostra o valor das
.dll) caso um programa dê erro
variáveis quando o usuário passa
grave;
com o mouse por cima;
Código gerenciado e código
• Immediate Window: execução de
nativo;
comandos em tempo de depuração
VS2008
Editores Visuais Disponíveis
• WinForms Designer:
 Editor visual da GUI (Graphic User Interface) para aplicações
Windows;
• Web Designer:
 Editor visual para aplicações web;
 Editor de ASP.NET, CSS, Javascript, HTML, CSS;
 Interface compartilhada com o Expression Studio;
• Class Designer:
 Editor de classes;
 Não disponível na versão Express;
• Data Designer:
 Editor de bases de dados;
• Mapping Designer:
 Editor de mapeamentos objeto-relacionais;
• WPF Designer: voltado para interfaces WPF (Silverlight).
VS2008
WinForms Designer
• Editor com os estilos de interação WYSIWYG e manipulação direta
para criação de aplicações Windows;
• WYSIWYG:
o What you see is what you get;
o O que você vê é o que você obtém);
o A representação de manipulação da interface (tempo de projeto),
é a mesma representação que a aplicação cria (tempo de
execução);
o Você "enxerga" o que está programando;
o É difícil de representar algumas situações:
 múltiplas abas;
 interfaces alternativas.
• Manipuração direta:
o Usuário age diretamente sobre os objetos da aplicação;
o GERALMENTE utiliza-se de mouse para drag & drop.
VS2008
WinForms Designer
• Interface estilo WIMP e estimulando
a criação de interfaces WIMP:
o Windows: Janelas, widgets;
o Icons: Ícones;
o Menus: Menus;
o Pointers: Mouses;
o Domina a computação a cerca de
15 anos!
• Pergunta:
o O que não é WIMP hoje em dia?
VS2008
WinForms Designer
• Widgets, controles ou componentes são
elementos de uma interface gráfica com os
quais o usuário interage de maneira direta;
• Geralmente permitem interação via mouse;
• Exemplos de Widgets:
o Janelas, Formulários, TextBox, Botão, botão
de rádio, caixa de seleção, menu, etc.
• Em WinForms os widgets são representados
por componentes que podem ser arrastados da
Toolbox para dentro de um container, como,
por exemplo, dentro de um formulário.
VS2008
WinForms Designer
• Tipos de componentes:
o Visuais: caixas de texto, botões;
o Não visuais: dataset, timer,
serial port;
• No exemplo ao lado temos 3
componentes visuais e 3
componentes não visuais.
VS2008
WinForms Designer
• Representação dos widgets em código-fonte;
• Podemos representar um widget através de linguagens:
o Imperativas:
 Descreve o programa como um conjunto de ordens (ações);
 Diz como fazer;
 Poderosas, mas difíceis para "pessoas normais";
 Java, C, C++, C#,etc;
o Declarativas:
 Descreve o que deve ser feito, mas não se preocupa com
como os procedimentos funcionam;
 Geralmente mais simples de serem entendidas, mas menos
poderosas;
 Facilidade de criar editor visual;
 HTML, SQL, XML, etc;
VS2008
WinForms Designer
• WinForms utiliza C# para representar a interface;
• No momento que você arrasta um componente na
tela é criado automaticamente um código que
gera a interface;
• Esse código é criado dentro da
função InitializeComponent dentro do arquivo
[Nome doForm].Designer.cs;
• Observe que em C# uma classe pode estar
espalhada por mais de um arquivo.
• Cada componente é um objeto de uma classe
específica e possui Propriedades, Métodos e
Eventos .
• Por exemplo, cada Textbox é uma instância da
classe System.Windows.Forms.TextBox;
VS2008
WinForms Designer
• Observe que todos os componentes podem ser modificados em
tempo de projeto através da aba de propriedades ou em tempo de
execução, via código;
• Além disso, você pode associar eventos a um ou mais objetos;
• Eventos são ações realizadas quando uma certa condição for
satisfeita;
• Tal condição pode ser, por exemplo:
o O clique de um botão;
o O digitar de uma tecla;
o O arrastar do componente;
o A mudança de valor do componente;
VS2008
WinForms Designer
• No Visual Studio, ao clicar duas vezes em um componente você
gera o evento padrão associado a ele;
• Para visualizar os demais eventos, selecione a aba de eventos;
• O código do evento é gerado na classe [Nome do Form].cs;
• "sender" representa o objeto que chamou o evento;
• "e" contém informações sobre o evento chamado.
Estrutura de Menus
• Em destaque os principais itens de cada menu;
• O menu Data será comentado em detalhes quando trabalharmos
com Banco de Dados;
• Teremos uma aula específica sobre o menu Tools e sobre as
opções de um Projeto quando comentarmos sobre instalação de
um programa em .Net;
Estrutura de Menus - Menu File
• Em destaque os principais itens de cada
menu;
• New Project: Cria um projeto novo;
• Open Project: Abre um projeto já existente;
• Open File: Abre arquivo;
• Close: Fecha arquivo;
• Close Solution: Fecha a solução;
• Save All: Salva Tudo;
• Export Template: Cria um modelo de um
projeto ou de um arquivo para reutilização;
• Recent Projects: Projetos abertos
recentemente.
Estrutura de Menus - Menu Edit
• Undo, Redo, Cut, Copy, Paste, Delete,
Select All: Ações disponíveis em qualquer
editor de textos;
• Find and Replace: existe a opção Find in
Files;
• Insert File As Text... : Importa texto;
• Advanced: opções de identação, etc;
• Bookmarks: gerenciamento de favoritos;
• Outlining: gerenciamento das regiões de
código;
• IntelliSense: opções de code completion;
Estrutura de Menus - Menu View
• Alterna as diferentes janelas
disponíveis:
o Code: código;
o Designer: formulário associado;
o Class View: hierarquia de classes;
o Error List: lista de erros;
o Output: saída via Console;
o Properties Window: Propriedades dos
objetos;
o Solution Explorer: Projetos da
solução;
o Task List: Lista de tarefas;
o Toolbox: barra de componentes
o Toolbars: barra de ferramentas.
Estrutura de Menus - Menu Project
• Add Windows Form: adiciona um novo
formulário ao projeto;
• Add User Control: adiciona um novo user
control;
• Add Class: Cria uma nova classe vazia;
• Add New Item: Adiciona um item qualquer
dentre os modelos;
• Add Existing Item: Adiciona um item a partir
de uma arquivo já existente;
• Show All Files: Mostra arquivos ocultos do
Projeto;
• Add Referece: adiciona uma biblioteca;
• Add Service Reference: adiciona uma
referência a partir de um webservice;
• ... Properties: Propriedades do Projeto,
teremos aula específica sobre esse item
futuramente.
Estrutura de Menus - Build e Debug
• Build Solution: constrói todos os projetos
da solução;
• Rebuild Solution: reconstrói a solução;
• Publish ... : Permite que se instale o
aplicativo em outra máquina, criando um
instalador;
• Windows: mostra as janelas de saída e
immediate;
• Start Debugging: inicia a depuração;
• Start Without Debugging: executa sem
depurar;
• Exceptions: Gerencia quais exceções
devem ser tratadas pelo IDE ou pelo
programa;
Estrutura de Menus - Menu Format
• Menu exclusivo para trabalho com controles de
formulário;
• Align: alinhamento de controles;
• Make Same Size: deixa os controles com o mesmo
tamanho;
• Horizontal Spacing: Espaçamento horizontal;
• Vertical Spacing: Espaçamento vertica;
• Center in Form: centraliza o item em relação ao
formulário;
• Order: ordem no índice Z, ou seja, se um
componente está na frente ou atrás dos outros;
• Lock Controls: impede a movimentação de um
controle;
Resumo
• O Visual Studio 2008 é uma ferramenta:
o Com estilo de interação WYSIWYG;
o Com estilo de interação WIMP;
o Orientada a eventos;
o Cuja interface em Windows Forms é representada através de
uma linguagem imperativa;
o Que suporta e estimula refatoração de código;
Referências Extras
de Souza, C. S.; Leite, J. C.; Prates, R.O. & Barbosa, S.D.J. "Projeto de Interfaces de Usuário: Perspectivas Cognitiva e
Semiótica", Anais da Jornada de Atualização em Informática, XIX
Congresso da Sociedade Brasileira de Computação, Rio de Janeiro,
julho de 1999. - Ver capítulo 1.5 sobre estilos de interação WIMP,
manipulação direta, etc.
http://www.dimap.ufrn.br/~jair/piu/JAI_Apostila.pdf
Event Driven Programming
Explica a programação orientada a eventos.
http://eventdrivenpgm.sourceforge.net/
Download

documento a seguir - Bruno Campagnolo de Paula