Você está na página 1de 9

SUMARIO

A. Dando continuidade a um projeto ..................................................................................................2 B. Mdulos e Funes ............................................................................................................................2 C. Barra de Status e Timer.....................................................................................................................3 D. Programao no carregamento (load) do formulrio e no Tick do Timer ...........................4 E. Revendo formulrio de Contas .......................................................................................................5 F. Criando uma Procedure (ou Sub) ......................................................................................................6 G. Exerccio ...............................................................................................................................................7

A. Dando continuidade a um projeto


1) Abrir projeto existente: a. No menu: File -> Open -> Project / Solution

B. Mdulos e Funes
Voc usa um mdulo para criar um container para variveis, procedimentos e funes usadas em toda a aplicao, e, em alguns casos, para fornecer o mtodo que funciona como um ponto de entrada para a aplicao. Sintaticamente falando, um bloco de mdulo est delimitado pelas palavras chaves Module e End Module e podem conter constantes pblicas ou privadas, campos, propriedades e mtodos. (MACORATTI, 2012).

Veja mais sobre mdulos no site da Microsoft: http://msdn.microsoft.com/pt-br/library/y76404kz.aspx 2) Criar um mdulo para armazenar as funes genricas do sistema: a. Clicar com boto direito sobre o Nome do Projeto (na caixa Solution Explorer) b. Depois: Add -> Module c. De um nome ao mdulo, exemplo: Suporte.vb e clique em Add. d. Caso queira que as linhas fiquem numerada, marque Line numbers conforme tela abaixo. No menu Tools -> Options:

3) Criando uma varivel pblica e uma funo, tambm pblica: a. Veja exemplo da varivel na linha 3: b. Veja exemplo da funo, da linha 5 at 16. Tudo dentro do mdulo.

C. Barra de Status e Timer


4) Colocando uma barra de status no menu principal: a. Abra o formulrio frmMenu no modo design. b. Arraste um componente StatusStrip para o formulrio e solte. c. Clique no cone da barra e escolha o StatusLabel

d. Altere as seguintes propriedades do StatusLabel: i. Name= tssDataHoraStart ii. Text = ... iii. AutoSize = false iv. Size: 250; 17 e. Coloque um Label sobre o StatusStrip (no lado direito):

f. Altere as propriedades do Label para: i. Name = lblHoraAtual ii. Anchor = Bottom, Right iii. Size = 90; 15 iv. Text = ... v. TextAlign = MiddleRight Vejamos de o formulrio inteiro para ter melhor noo do exposto:

5) Adicionando um controle Timer no menu: a. Arraste o controle Timer para o formulrio (ou para a barra no rodap da tela de design. Que onde o Timer ir aparecer. Pois o timer no um componente visvel na tela. Somente o evento Tick nos interessa): b. Altere as seguintes propriedades: i. Name = tmrHoraAtual ii. Enabled = True iii. Interval = 1000

D. Programao no carregamento (load) do formulrio e no Tick do Timer


6) Codificando o carregamento do formulrio menu (o evento Load):

Observe os comentrios do prprio cdigo para entend-lo.

7) Codificando o evento Tick do componente Timer:

Veja que s precisamos atribuir a hora atual na propriedade Text do componente Label (lblHoraAtual).

E. Revendo formulrio de Contas


8) Vamos olhar atentamente para o formulrio em tempo de design:

Componentes (TextBox) para entrada de dados.

Componentes (RadioButton) para seleo do tipo da conta, agrupados em um GroupBox.

Controle GroupBox (grbFicha) para possibilitar habilitar ou desabilitar a edio dos campos do formulrio.

Botes (Button) que ficam sempre visveis, mas desabilitados quando acionados os botes Incluir ou Alterar. Botes (Button) que ficam invisveis. S aparecem quando for acionado Incluir ou Alterar.

Componente (DataGridView) que servir para listar os registros j cadastrados no Banco de Dados.

a. A lgica de funcionamento do formulrio ser a seguinte: i. Os botes Gravar e Cancelar tero a propriedade Visible determinada como False e o painel Ficha ter a propriedade Enabled determinada como False j no design. Observe sempre as boas prticas de programao. Veja tabela para prefixos de nomes de componentes. (CAMARA, 2012)

9) Ao clicar em incluir ou alterar, os botes de Gravar ou Cancelar devem aparecer, o painel dos dados devem ser limpos e habilitados e os botes Incluir, Alterar, Excluir e Fechar ficaro inabilitados (Enabled=False).

F.

Criando uma Procedure (ou Sub)


10) Criando uma Sub (ou procedure) para habilitar ou desabilitar os componentes da tela. A importncia de se criar procedures (ou Subs) para fragmentar o cdigo, tendo-se trechos de lgica menores e especficos, tornando a programao de mais fcil entendimento. Tambm importantssimo ter uma SUB, quando se utiliza um mesmo trecho de cdigo mais de uma vez. No caso, estamos criando uma procedure que ir habilitar ou desabilitar os componentes, tornando possvel a manipulao dos dados na tela (para incluso ou alterao), ou no permitindo essa manipulao (para consulta). Basta digitar a Sub (conforme exemplo abaixo), dentro da classe do formulrio:
Private Sub editarControles(ByVal edicao As Boolean) Me.grbFicha.Enabled = edicao Me.btnGravar.Visible = edicao Me.btnCancelar.Visible = edicao Me.btnIncluir.Enabled = Not edicao Me.btnAlterar.Enabled = Not edicao Me.btnExcluir.Enabled = Not edicao Me.btnFechar.Enabled = Not edicao Me.lblAcao.Text = String.Empty End Sub

Esta Sub est recebendo um argumento chamado edicao. Este argumento servir para habilitar ou desabilitar os controles: (grbFicha, btnIncluir, btnAlterar, btnExcluir e btnFechar) e tornar visvel ou invisvel os controles (btnGravar e btnCancelar). Para chamar a procedure (ou Sub) criada, basta colocar o nome dela e entre parnteses, o valor True ou False. Conforme o desejado.

G. Exerccio
11) No evento Click do boto incluir: a. chame a Sub editarControles passando True para que sejam habilitados os controles da tela; b. No Label chamado lblAcao, atribuir a palavra Incluir. 12) No evento Click do boto Alterar: a. chame a Sub editarControles passando True para que sejam habilitados os controles da tela; b. No Label chamado lblAcao, atribuir a palavra Alterar. 13) No evento Click do boto Excluir: a. Faa uma consistncia para verificar se o componente que armazena o cdigo est vazio. Se estiver, de uma mensagem dizendo que No h registro selecionado!. 14) No evento Click do boto Gravar: a. chame a Sub editarControles passando False para que sejam desabilitados os controles da tela; 15) No evento Click do boto Cancelar: a. chame a Sub editarControles passando False para que sejam desabilitados os controles da tela;

REFERNCIAS MACORATTI, Jose Carlos. VB.NET - Uma palavra sobre Mdulos. Disponvel em <http://www.macoratti.net/vbn5_mcn.htm>. Acesso em 08 set 2012. CAMARA, Fabio. Boas Prticas em Programao C#. Disponvel em <http://msdn.microsoft.com/ptbr/library/cc580565.aspx>. Acesso em 16 set 2012.

ANEXO I Tabela de prefixos recomendados como boas prticas de programao


Windows Forms

Componente
Form Label LinkLabel Button TextBox Menu CheckBox RadioButton GroupBox PictureBox Panel DataGrid ListBox CheckedListBox ComboBox ListView TreeView TabControl DateTimePicker MonthCalendar HScrollBar VScrollBar Timer Splitter DomainUpDown NumericUpDown TrackBar ProgressBar RichTextBox ImageList HelpProvider ToolTip ContextMenu ToolBar StatusBar NotifyIcon OpenFileDialog SaveFileDialog FontDialog ColorDialog PrintDialog

Prefixo Exemplo
frm lbl lnk btn txt mnu chk rad grp pic Pnl Grd Lst clb cbo lvw tre tbc dtp mcl hsb vsb tmr spt upd nud trb prg rtf ils hlp tip cmn tlb sta nti ofd sfd ftd cld ptd frmEntry lblHelpMessage lnkEmail btnExit txtLastName mnuFileOpen chkReadOnly radType grpActions picIcon pnlGroup grdQueryResult lstPolicyCodes clbOptions cboEnglish lvwHeadings treOrganization tbcOptions dtpPublished mclPeriod hsbMove vsbMove tmrAlarm sptDivision updPages nudPieces trbIndex prgLoadFile rtfReport ilsAllIcons hlpOptions tipIcons cmnOpen tlbActions staDateTime ntiOpen ofdImage sfdImage ftdText cldText ptdText

PrintPreviewDialog ErrorProvider PrintDocument PageSetup Dialog

ppd err prn psd

ppdText ppcText errOpen prnText psdReport rptSales

PrintPreviewControl ppc

CrystalReportViewer rpt

Dados

Componente
DataSet OleDbDataAdapter OleDbConnection OleDbCommand SqlDataAdapter SqlConnection SqlCommand DataView DagaGridView

Prefixo Exemplo
dts oda ocn ocm sda scn scm dtv dgv dtsProducts odaClients ocnClients ocmConsult sdaClients scnClients scmConsult DtvConsult dgvConsulta