Documente Academic
Documente Profesional
Documente Cultură
Sumrio..............................................................................................................................1
APOSTILA BSICA E COMPLETA DE VISUAL BASIC...........................................2
Variveis............................................................................................................................2
Abrangncia e Tempo de Vida..........................................................................................2
Tipos de Dados Suportados pelo VB 2005/2008...........................................................3
Operadores.........................................................................................................................4
Estruturas de Deciso........................................................................................................5
O comando if/then.........................................................................................................5
A Funo IIF()...............................................................................................................6
O Comando SELECT CASE.........................................................................................7
Estruturas de Repetio.....................................................................................................7
1)WHILE...END WHILE..............................................................................................7
2)DO...LOOP.................................................................................................................8
3)FOR...NEXT...STEP..................................................................................................9
EXIT DO.....................................................................................................................10
EXIT FOR...................................................................................................................10
Evento Keypress..............................................................................................................10
Propriedade TabIndex......................................................................................................10
Msgbox().........................................................................................................................11
Validao de Dados.........................................................................................................11
Criao de SubRotinas (procedures ou funes).............................................................12
Objeto DateTimePicker...................................................................................................12
Objeto MaskedTextBox...................................................................................................13
Objeto TabControl...........................................................................................................13
Para inserir mais tabpage na tabcontrol:...............................................................13
Para trocar a tabpage de posio:................................................................................13
Categoria MENUS & TOOLBAR...................................................................................14
Componentes: MenuStrip, ToolStrip, StatusStrip, Timer...........................................14
Navegao entre formulrios.......................................................................................16
Link BD.......................................................................................................................18
Navegao de registros................................................................................................21
Mensagem de Incio (BOF) e Fim (EOF) de Arquivo Encontrado.............................22
Barra de Manuteno com Comandos SQL...............................................................23
Consultando registros..................................................................................................25
Rotina de Movimentao.............................................................................................28
Rotina de Impresso....................................................................................................29
Relatrio geral via programao................................................................................31
PROPRIEDADES DO OBJETO DATAGRIDVIEW:...................................................34
PROPRIEDADES DO OBJETO DATAGRIDVIEW VIA CDIFICAO:...........37
8/fev/2010
Variveis
O Conceito de variveis em programao no difere muito do empregado na
matemtica. Nesta ltima, utilizamos variveis como forma de indicar um valor que
pode variar ou que ainda deve ser calculado.
Isso tambm ocorre em programao, ou seja, elas so usadas para representar valores
que so armazenados em posies especficas da memria do computador.
Para definir um nome de varivel, algumas regras devem ser seguidas:
1. O nome precisa iniciar com uma letra.
2. Somente so permitidos nmeros, letras, sublinhado e o cifro. Smbolos
grficos,caracteres acentuados ou sinais de pontuao so invlidos.
3. O nome da varivel no pode coincidir com uma palavra reservada, ou seja, com
um nome de funo ou comando do prprio VB.
Antes de podermos utilizar uma varivel, imprescindvel que ela seja declarada. Nesta
declarao, informamos o nome da varivel e seu tipo de dado.
atravs da declarao que tambm definimos o seu escopo, isto , a abrangncia
( visibilidade ) e o tempo de vida ( Existncia ).
Pg: 2
8/fev/2010
Descrio
Valor Lgico
Valor Numrico Inteiro
com tamanho de 1 byte
no sinalizado
Valor Numrico Inteiro
com tamanho de 1 byte
sinalizado
Valor do tipo caractere
compatvel com o sistema
unicode
Data do calendrio
Valor numrico inteiro
curto
Valor numrico inteiro
Valor numrico inteiro
longo
Valor numrico de ponto
flutuante (Simples
preciso)
Valor numrico de ponto
flutuante (Dupla preciso)
Valor numrico de alta
preciso
Tipo de dado Caractere de
comprimento varivel
Uma referncia a objetos /
classes
Valor numrico curto sem
sinal
Valor numrico inteiro sem
sinal
Inteiro long sem sinal
Pg: 3
Tamanho na memria
1 byte
1 byte
1 byte
2 bytes
8 bytes
2 bytes
4 bytes
8 bytes
4 bytes
8 bytes
16 bytes
Nmero de bytes varivel
4 bytes
2 bytes
4 bytes
8 bytes
8/fev/2010
Operadores
Para podermos manipular os dados armazenados na variveis dos nossos programas
dispomos dos operadores.
Temos basicamente 5 tipos de operadores:
1. Aritmticos ou matemticos: Permitem a execuo de clculos;
2. Operadores relacionais: Efetua comparaes entre variveis e valores;
3. Lgicos: Permitem a construo de expresses lgicas dentro de comandos de
decises;
4. Operadores de atribuio de valores: Permite atribuir valores as variveis;
5. Operadores de manipulao de bytes: Trabalham diretamente com os bites
individuais de um byte.
Os operadores matemticos so:
Operador
Descrio
+
*
/
^
Mod
Operador de adio
Operador de subtrao
Multiplicao
Diviso
Exponnciao
Resto de uma diviso de nmeros
inteiros
Diviso inteira
Alem desses foram acrescentados tambm, nessa verso, operadores duplos, muito
comum em programas escritos em C ou C++. So eles:
1
+=
2
-=
3
*=
4
/=
5
^=
Pg: 4
8/fev/2010
Descrio
Maior que
Menor que
Maior que ou igual a
Menor que ou igual a
Igual
Diferente de
Descrio
And lgico
Or lgico
Not lgico
Estruturas de Deciso
Qualquer linguagem de programao dispe de meios para tornar possvel a tomada de
decises.
Devemos entender por tomada de decises a capacidade que o programa tem de fazer
um teste e executar outra tarefa de acordo com o resultado obtido.
O comando if/then
Esta ao pode ser constituda por uma ou mais linhas de instruo. Exemplo:
1-IF simples
IF dblsaldo = 0 then
MsgBox(No h saldo disponvel na conta)
End if
2-IF alinhado
Podemos ter uma estrutura IF/then dentro de outra. Exemplo:
IF operador = / then
IF valor = 0 then
MsgBox(Impossvel diviso por zero)
End if
End if
Pg: 5
8/fev/2010
A Funo IIF()
Existe ainda a instruo IIF que pode ser aplicada em situaes em que existam apenas
duas aes, uma verdadeira e outra falsa. Sua sintaxe :
if ( <condio #1> , < cdigo executado se a instruo for verdadeira> , <cdigo se
a instruo for falsa>)
Esta funo bastante simples e interessante, pois simplifica a avaliao de pequenas
expresses. O funcionamento desta funo idntico a funo = Se do Excel, onde, se
a resposta da condio for verdadeira ser efetuada a instruo aps a primeira virgula,
e, se for falsa ser executada a funo aps a segunda vrgula. Exemplo:
Function Verifica (ByVal Teste As Integer) As String
Verifica = IIf(Teste > 1000, "Grande", "Pequeno")
End Function
Pg: 6
8/fev/2010
Estruturas de Repetio
As estruturas de repetio tambm conhecidas como estruturas de looping
permitem que voc execute uma linha ou bloco de cdigo repetidamente at que uma
condio seja verdadeira.
O uso de loopings nos programas uma prtica comum, pois em muitos casos
preciso percorrer uma determinada coleo de dados, um conjunto de registros,
valores de matrizes, etc.
1) WHILE...END WHILE
O looping While executado sempre associado a uma condio, ou seja, a
cada passagem pelo looping a condio avaliada. Veja a sintaxe a seguir:
While condio
cdigo
End While
Exemplo:
Dim inicio, fim, passo As Integer
inicio = Cint(txtinicio.Text)
fim = Cint(txtfim.Text)
passo = Cint(txtpasso.Text)
lstWW.Items.Clear()
While inicio <= fim
lstWW.Items.Add(inicio)
Pg: 7
8/fev/2010
inicio += passo
End While
PS: Executa enquanto a resposta para a condio for verdadeira (true).
2) DO...LOOP
O Do...Loop semelhante ao while, ou seja, executado sempre associado a
uma condio, novamente a cada passagem pelo looping a condio avaliada. S que
o Do...Loop permite que dependendo da situao, a condio possa ser colocada no
incio ou no final do looping. Se for ao incio, avaliada logo na primeira vez; se for no
final, o looping executado pelo menos a primeira vez, pois a condio ser avaliada no
final da primeira passagem pelo looping. Caso precise abandonar o looping, use o Exit
Do, que opcional. Veja a sintaxe tanto com a condio no comeo como no final:
Do { While | Until } condio
cdigo
Exit Do
Loop
ou
Do
cdigo
Exit Do
Loop { While | Until } condio
Depois do Do, voc pode usar o While ou o Until, a diferena que o While
faz com que o loop seja executado at que a condio seja (falsa), e o Until at que a
condio seja True (Verdadeira).
Exemplos:
O Until faz com que o loop seja executado at que a condio seja verdadeira,
ou seja, executa enquanto a condio for falsa:
Dim inicio, fim, passo As Integer
inicio = Val(txtinicio.Text)
fim = Val(txtfim.Text)
passo = Val(txtpasso.Text)
lstDul.Items.Clear()
Do Until inicio > fim
lstDul.Items.Add(inicio)
inicio += passo
Loop
Dim inicio, fim, passo As Integer
inicio = Val(txtinicio.Text)
fim = Val(txtfim.Text)
passo = Val(txtpasso.Text)
Pg: 8
8/fev/2010
lstDL.Items.Clear()
Do
lstDL.Items.Add(inicio)
inicio += passo
Loop Until inicio > fim
O While faz com que o loop seja executado at que a condio seja falsa, ou
seja, executa enquanto a condio for verdadeira:
Dim inicio, fim, passo As Integer
inicio = Val(txtinicio.Text)
fim = Val(txtfim.Text)
passo = Val(txtpasso.Text)
lstDW.Items.Clear()
Do While inicio <= fim
lstDW.Items.Add(inicio)
inicio += passo
Loop
Dim inicio, fim, passo As Integer
inicio = Val(txtinicio.Text)
fim = Val(txtfim.Text)
passo = Val(txtpasso.Text)
lstDlw.Items.Clear()
Do
lstDlw.Items.Add(inicio)
inicio += passo
Loop While inicio <= fim
3) FOR...NEXT...STEP
O comando FOR faz uma contagem de um determinado intervalo de nmeros.
Sempre que essa contagem encontra com o comando NEXT (prximo) a execuo do
programa retorna ao comando FOR at que o nmero final seja alcanado.
Usamos o STEP em conjunto com o FOR para fazer com que a contagem seja
incrementada. Exemplo: Se queremos que o comando conte de 2 em 2 colocamos FOR
Varivel = 1 TO 10 STEP 2.
Exemplo:
' o for next inicializa e atualiza a varivel utilizada na expresso lgica que controla a
repetio
Dim contador As Integer
' limpar o listview
lstFN.Items.Clear()
' adiciona mais um item na lista enquanto contador no for igual a fim
For contador = Val(txtinicio.Text) To Val(txtfim.Text) Step Val(txtpasso.Text)
lstFN.Items.Add(contador)
Next
Pg: 9
8/fev/2010
EXIT DO
Fora a sada de um LOOP, seja WHILE ou UNTIL, mesmo que a condio
estabelecida no seja verdadeira:
Contador = 0
Do While Contador < 10
Contador = Contador + 1
Print Contador
If Contador = 5 Then
Exit Do
End If
Loop
Print Fim da execuo
EXIT FOR
Fora a sada de um FOR...NEXT, mesmo que o nmero final no tenha sido
alcanado:
Contador = 0
For Contador = 1 To 10
Print A varivel Contador agora vale & Contador
If Contador = 6 Then
Exit For
end if
Next
Print Fim da execuo
Evento Keypress
Para trocar de objeto (textbox) com o pressionamento do Enter:
Configurar o Evento keypress do textbox:
If Asc(e.KeyChar) = 13 Then
Txt_numB.Focus()
End If
Propriedade TabIndex
Para trocar de objeto (textbox, label, etc) com o pressionamento da tecla TAB:
Alterar a propriedade TABINDEX de cada objeto com a sequncia desejada.
Pg: 10
8/fev/2010
Msgbox()
Para enviar uma mensagem na caixa de dilogo:
Utilizaremos o comando MSGBOX que composto por trs parmetros: mensagem,
cone e ttulo da janela. Sintaxe:: MsgBox("Mensagem", estilo do cone, ttulo da
janela)
Exemplos:
MsgBox("Registro incluido com sucesso !", MsgBoxStyle.Information, "Incluindo
registros")
If MsgBox("Deseja realmente sair?? ", MsgBoxStyle.YesNo, "Encerrando...") =
MsgBoxResult.Yes Then
Comandos
Comandos
Me.Close()
End If
MsgBox("Registro incluido com sucesso !")
Validao de Dados
Para consistir a entrada dos dados:
'' Rotina para validar dados digitados em caixa de texto (textbox)
If txt_numA.Text = "" Or not IsNumeric(txt_numA.Text) Then
MsgBox("digite um numero vlido para A")
txt_numA.Focus()
ElseIf txt_numB.Text = "" Or not IsNumeric(txt_numB.Text) Then
MsgBox("digite um numero vlido para B")
txt_numB.Focus()
Else
' caso no encontre erros de validao
coamandos
End If
'' Rotina para validar campos mascarados (maskedTextBox)
ElseIf Not CPF_PacienteMaskedTextBox.MaskFull Then
MsgBox("digite um CPF vlido")
CPF_PacienteMaskedTextBox.Focus()
Pg: 11
8/fev/2010
Objeto DateTimePicker
Para trabalhar com data e hora :
Na ToolBox temos a ferramenta DATETIMEPICKER que um objeto especfico
para trabalhar com data e hora sem a necessidade de criarmos campos mascarados.
Ao inseri-lo no formulrio, ele est com a data completa e por extenso. Atravs da
propriedade FORMAT podemos alterar esta exibio para SHORT que mostra a
data abreviada (dd/mm/aaaa) ou TIME que mostra a hora abreviada (hh:mm:ss) ,
atravs da propriedade ShowUpDown (true), mudamos o ponteiro para hora, minuto.
Na execuo, apresentado um calendrio ao clicarmos sobre este campo, para escolha
do dia, ms e ano, podendo tambm ser diretamente digitado.
Deste objeto podemos extrair alguns valores como o dia, o ms, o dia da semana, etc. da
seguinte maneira:
Dim dia, mes, diasemana As Integer
Pg: 12
8/fev/2010
dia = dtp_data.Value.Day
mes = dtp_data.Value.Month
diasemana = dtp_data.Value.DayOfWeek
Objeto MaskedTextBox
Para mascarar campos :
Na ToolBox temos a ferramenta MASKEDTEXTBOX que um objeto especfico
para trabalhar com campos mascarados, atravs da propriedade MASK podemos
definir a mscara para o campo, nos baseando nos caracteres utilizados no Acess na
propriedade Mscara de entrada (0 = posio numrica obrigatria, 9 = posio
numrica opcional).
Para melhor definir este campo, usamos a seta que se encontra no canto superior direito
deste campo, opo SET MASK.
Objeto TabControl
Para mudar de guia automaticamente :
No evento Load do formulrio (para ocorrer assim que o programa comear a ser
executado), ou em um boto, coloque a seguinte programao:
tabcontrol1.selectedtab=tabpage2
Pg: 13
8/fev/2010
Disciplinas do 3 Informtica
frmMenu
False
False
False (boto fechar, cone, boto maximizar e
minimizar)
WindowState
Maximizado
Start Position
Center Screen
Icon
Procurar um arquivo com extenso ico (*.ico)
BackGroundImage
Escolher uma figura para colocar como fundo
(Project Resources)
BackGroundImageLayout Definir a posio da figura: Center, streeth, zoom
3) Testar com a tecla F5 ou boto (start debugging) para compilar e executar.
4) Salvar o projeto:
- clicar no boto Save All (vrios disquetes),
- escolher a pasta
- ativar chek box create directory se quiser criar uma pasta dentro da pasta
do projeto, boto Save All
--- Cuidado! Caso ainda no tenha dado nome para o formulrio, neste
momento ele solicitar nome para todos aqueles que ainda no foram salvos.
5) Objeto Menu de opes (MenuStrip):
Criar no formulrio um menu de opes com as seguintes caractersticas:
&Arquivo &Disciplinas
Sair
DS II
PC II
GSO III
PI
&Utilitrios
Programas Externos
A&juda
Help
Desenvolvedores
6) Atalhos:
Inserir atalhos para as sub-opes:
- Selecione a sub-opo e escolha a propriedade SHORTCUTKEYS, em
seguida escolha o conjunto de teclas que serviro como atalho (CTRL + S) a
esta opo, automaticamente as letras aparecero ao lado da opo no menu.
Pg: 14
8/fev/2010
8) Salvar e testar.
9) Objeto Barra de Ferramentas (ToolStrip):
a) Inserir uma barra de ferramentas e nela 1 boto, 1 separador e mais 2 botes.
P.S.: Com o boto direito do mouse sobre ela, opo insert button,
separator.
Propriedades dos botes:
Image
Inserir imagem dentro do boto
ToolTipText
Inserir texto auto explicativo ao posicionar sobre o boto
Name
Btnxxxxxx, para cada boto respectivamente
b) Duplo clique sobre o boto para program-lo:
frmxxx.showdialog 'para chamar um formulrio
10) Objeto Barra de Status (Status Strip):
Inserir uma barra de status e nela duas statuslabel, uma chamada lbldata e a
outra lblhora, conforme as seguintes propriedades:
Text
Name
Data:
lblData
Hora:
lblHora
Tmrtemporizador
1000 (para bater a cada segundo)
True
Pg: 15
8/fev/2010
*.bmp
Center ou stretch
Pic_imagem
8/fev/2010
- Boto Calculadora:
Pg: 17
8/fev/2010
Shell("calc.exe", AppWinStyle.MaximizedFocus)
- Boto Carregar um arquivo Pdf:
Process.Start("manual.pdf") 'este arquivo tem que estar dentro da pasta do projeto, no
bin\debug
- Boto Carregar um site:
System.Diagnostics.Process.Start("www.google.com.br") 'Endereo do site que ser
Aberto
- Boto Carregar um arquivo via formulrio VB:
Para isto necessrio chamar outro formulrio que ir conter um objeto
WEBBROWSER , com a propriedade Dock = fill. No evento Load deste
formulrio, programar:
Dim caminho As String = Application.StartupPath + "\Manual.pdf"
WebBrowser1.Navigate(caminho)
Link BD
15) Criar um novo projeto chamado PrjEscola, com um formulrio parecido com
o Menu Principal da figura acima.
Pg: 18
8/fev/2010
16) Criar dentro deste projeto um outro formulrio Vazio e nome-lo para
Frm_Cad_Disciplinas. cham-lo atravs da sub-opo Disciplinas da opo
Cadastro do menu principal.
17) Salvar o projeto.
18) Inserir o Bd dentro da pasta bin\debug
19) ****** Mdulo *******
No projeto inserir um mdulo : Menu Project, Add Module.
O mdulo um espao onde so declaradas variveis e sub-rotinas que sero
vistas em qualquer formulrio dentro do projeto.
No mdulo iremos importar as duas classes responsveis pela conexo com o
BD:
Imports System.Data.OleDb
Imports System.IO
A seguir iremos declarar e atribuir valores as variveis de conexo:
Module Module1
' varivel para conectar bco
Public conn As New
OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=
BdEscola.accdb")
' varivel do tipo comando para o comando SQL
Public cmd As OleDbCommand = conn.CreateCommand
' varivel do tipo binding source (tabela virtual)
Public bs_disciplina As BindingSource = New BindingSource()
' varivel do tipo string para o comando SQL
Public strsql As String
' varivel do tipo datareader (tabela somente leitura)
Public dr_d As OleDbDataReader
' varivel para validao dos dados
Public valida As Integer = 0
End Module
20) ***** Formulrio Cadastro de Disciplinas ***************
Inserir um novo formulrio para montar o formulrio de cadastro de disciplinas:
********* Menu Data opo ADD New Data Source:
- Na janela escolha Database Next,
- boto New Connection e na tela que surgir escolha entre SQL ou ACCESS
(datasource) e o caminho do banco e o banco (Database file name) OK
Next e na mensagem clique em No (para no trabalhar com a cpia do banco
na pasta do projeto).
Pg: 19
8/fev/2010
8/fev/2010
Navegao de registros
Botes para NAVEGAO de registros:
1) Inserir um groupbox:
- ToolBox, grupo Containers, objeto GroupBox, text = Navegao.
Pg: 21
8/fev/2010
*.bmp
Primeiro
Primeiro
Registro
btnPrim
*.bmp
Anterior
Registro
Anterior
btnAnt
*.bmp
Prximo
Prximo
Registro
btnProx
*.bmp
ltimo
ltimo
Registro
btnUlt
8/fev/2010
*.bmp
Novo
btnNovo
*.bmp
Cancelar
btnCancelar
Image *.bmp
*.bmp
*.bmp
Text
Incluir
Alterar
Excluir
Name btnIncluir btnAlterar btnExcluir
3) Programao dos botes:
----- Boto Novo -------limpar()
DescrioTextBox.Focus()
----- Boto Cancelar -------bs_disciplinas.CancelEdit()
----- Boto Excluir -------cmd.CommandText = "delete from Disciplinas where Cod_Disciplina = " +
lbl_Cod_disciplina.Text + ""
Try
cmd.ExecuteNonQuery()
carregar_datagrid()
MsgBox("Registro excluido com sucesso !", MsgBoxStyle.Information,
"excluindo registros")
Catch erro As Exception
MsgBox("Erro " & vbCrLf & erro.ToString, MsgBoxStyle.Critical, "Erro")
End Try
Pg: 23
8/fev/2010
----- Boto Alterar -------Neste momento ser necessrio criar uma sub-rotina para validar os dados que
foram digitados.
A seguir a rotina para alterar dados:
Valida()
If erro = 1 Then
cmd.CommandText = "UPDATE Disciplinas SET "
cmd.CommandText = cmd.CommandText & "descrio ='" +
Me.DescrioTextBox.Text + "',"
cmd.CommandText = cmd.CommandText & "sigla ='" + Me.SiglaTextBox.Text + "'
"
cmd.CommandText = cmd.CommandText & " where Cod_disciplina = " +
Me.lbl_Cod_disciplina.Text + ""
Try
cmd.ExecuteNonQuery()
carregar_datagrid()
MsgBox("Registro alterado com sucesso !", MsgBoxStyle.Information,
"Alterando registros")
Catch erro As Exception
MsgBox("Erro " & vbCrLf & erro.ToString, MsgBoxStyle.Critical, "Erro")
End Try
End If
Observao:
1) Para alterar dados de um campo tipo data utilize cerquilha no lugar do
apstrofo no nome do objeto do formulrio.:Ex.:
cmd.CommandText & "nasc_pac = #" + Me.Nasc_PacDateTimePicker.Value.Date + "#
"
2) Para alterar dados de um campo nmero (tabela) no utilize apstrofo,
somente aspas no nome do objeto do formulrio.:Ex.:
cmd.CommandText & "cod_cliente = " + Me.txt_cod_cliente.txt + ""
----- Boto Incluir -------Tambm se faz necessrio validar os dados digitados antes de incluir na tabela.
Valida()
If erro = 1 Then
cmd.CommandText = "Insert into Disciplinas (descrio,sigla)"
cmd.CommandText = cmd.CommandText & "Values ('" +
Me.DescrioTextBox.Text + "',"
cmd.CommandText = cmd.CommandText & "'" + Me.SiglaTextBox.Text + "')"
Try
cmd.ExecuteNonQuery()
carregar_datagrid() ' atualizando a grid
MsgBox("Registro incluido com sucesso !", MsgBoxStyle.Information, "Incluindo
registros")
Pg: 24
8/fev/2010
Consultando registros
4) Inserir um novo formulrio chamado frm_Consultar_Disciplina e dentro dele
um objeto dataGridView :
8/fev/2010
8/fev/2010
Pg: 27
8/fev/2010
Rotina de Movimentao
Pg: 28
8/fev/2010
Rotina de Impresso
1) Inserir os seguintes componentes do Grupo Printing ::
- Print Dialog (abre cx de seleo da impressora)
- Print Document (envia efetivamente as informaes a serem impressas)
- PrintPreviewDialog (abre tela para visualizar o documento a ser
impresso)
Pg: 29
8/fev/2010
Pg: 30
8/fev/2010
Inserir componentes::
- Grupo Printing
- Print Dialog (abre cx de seleo da impressora - propriedade document = o
name do PrintDocument)
- Print Document (envia efetivamente as informaes a serem impressas)
- PrintPreviewDialog (abre cx de visualizao da impresso - propriedade
document = o name do PrintDocument)
Pg: 31
8/fev/2010
8/fev/2010
'*****************************
'imprime o rodap do relatrio
'*****************************
objimpressao.DrawString("Total de Registros: " + registro.ToString, New
System.Drawing.Font("Arial", 9, FontStyle.Bold), Brushes.Blue, 550, 1100)
e.Graphics.DrawLine(New Pen(Color.DarkBlue, 1.5), 50, 1115, 800, 1115)
objimpressao.DrawString("Data: " + System.DateTime.Now.ToString(), New
System.Drawing.Font("Arial", 9, FontStyle.Bold), Brushes.Blue, 50, 1120)
objimpressao.DrawString("Pg: " + pag.ToString, New
System.Drawing.Font("Arial", 9, FontStyle.Bold), Brushes.Blue, 550, 1120)
' reajustando contadores de pag
pag += 1
' trocando de pgina
If (pag > 1) And registro < fim Then
e.HasMorePages = True
Else
e.HasMorePages = False
End If
' Qdo este evento acaba, ele comea novamente, at quando as condies foram
satisfatrias para ele continuar a impresso
End Sub
Private Sub btnImprimir_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnImprimir.Click
If PrintDlg.ShowDialog = Windows.Forms.DialogResult.OK Then
PrintDoc.DocumentName = "Ficha de Cadastro de Paciente"
PrintDoc.Print()
End If
End Sub
Private Sub btnVisualizar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnVisualizar.Click
fim = (Me.CadastroPacientesBindingSource.Count)
With PrintPreviewDlg
.Document = Me.PrintDoc ' nome do objeto print document
.Text = " Visualizando a impresso" ' ttulo da janela
.WindowState = FormWindowState.Maximized ' status da janela do preview
.PrintPreviewControl.Columns = 2 'quantas pg sero mostradas na tela
.PrintPreviewControl.Zoom = 0.6 ' zoom inicial do preview
.ShowDialog() ' mostrar janela preview
End With
End Sub
****************************************************
Desafio:
1) Na segunda execuo, no aparecem registros.
2) Na segunda execuo , reiniciar nmero de pgina.
Pg: 33
8/fev/2010
DESCRIO
Definir um nome para a Grid ser tratada
no fonte e reconhecida no projeto
Retira a ltima linha de edio (em
branco vazia) da grid
No permite deletar a linha selecionada
Deixa zebrada a grid (1 linha com uma cor
e outra linha com outra cor)
NAME
AlowUserToAddRows (False)
AlowUserToDeleteRows (False)
AlternatingRowsDefaultCellStyle (....)
- Appearence
- BackColor
BackGroundColor
CollumnHeaderBorderStyle
CollumnHeaderDefaultCellStyle (....)
Ver Figura 01
DefaultCellStyle (....)
Ver Figura 02
EnableHeadersVisualStyle (false)
GridColor
ReadOnly (true)
RowDefaulCellStyle
RowHeaderDefaultCellStyle (....)
Ver Figura 03
RowTemplante (+)
- DefaultCellStyle (....)
Ver Figura 04
Pg: 34
8/fev/2010
Figura 01
Figura 02
Pg: 35
8/fev/2010
Figura 03
Figura 04
Pg: 36
8/fev/2010
Pg: 37