Sunteți pe pagina 1din 37

Sumrio

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

Introduo ao VB NET 2008

8/fev/2010

APOSTILA BSICA E COMPLETA DE VISUAL BASIC

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 ).

Abrangncia e Tempo de Vida


Dois conceitos muito empregados na programao so Abrangncia eTempo de
Vida de uma varivel. O primeiro conceito refere se ao limite de visibilidade de uma
varivel, ou seja, at que ponto ela reconhecida dentro do programa. J o segundo
termo diz respeito a quanto tempo uma varivel pode reter seu valor. A esses dois
conceitos damos o nome de escopo .
De forma mais detalhada, podemos dizer que a abrangncia est relacionada com as
partes (Funes, sub-rotinas, mdulos) do programa que podem acessar o valor da
varivel. Isso significa que podemos ter variveis cujos valores somente so acessados
pela funo para sub-rotina em que foram declaradas e em nenhuma outra parte do
programa. Neste caso as variveis so locais e para declar-las utilizamos o comando
Dim.
Exemplo: Dim txtnome as string.
Para tornar uma varivel disponvel a todos os mdulos e a todas as rotinas da
aplicao, devemos declar la com o comando Public, este tipo de escopo recebe o
nome de Global.
Exemplo: Public valor as double.

Pg: 2

Introduo ao VB NET 2008

8/fev/2010

Tipos de Dados Suportados pelo VB 2005/2008


Tipo de Dado
Booleam
Byte
SByte
Char
Date
Short
Integer
Long
Single
Double
Decimal
String
Object
UShort
UInteger
ULong

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

Introduo ao VB NET 2008

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
^=

Como podemos perceber, temos um operador aritmtico combinado com o operador


de atribuio =. Com eles podemos efetuar uma operao de forma mais
compactada. Por exemplo, o seguinte cdigo:
Saldo=Saldo-Dbito
Pode perfeitamente ser substitudo por:
Saldo-=Dbito

Pg: 4

Introduo ao VB NET 2008

8/fev/2010

Os operadores relacionais so:


Operador
>
<
>=
<=
=
<>

Descrio
Maior que
Menor que
Maior que ou igual a
Menor que ou igual a
Igual
Diferente de

Estas comparaes sempre resultaro em um valor lgico: Verdadeiro ou Falso


Os operadores lgicos so:
Operador
And
Or
Not

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

Introduo ao VB NET 2008

8/fev/2010

3-IF COM ELSE


Existe uma variao deste comando que possibilita a execuo de um cdigo caso o
resultado seja falso.Para isso devemos utilizar a clusula else.Exemplo:
IF dblsaldo = 0 then
MsgBox(No h saldo disponvel na conta)
Else
DblSaldo -= valor
End if
4-IF COM ELSEIF
Uma ltima variao deste comando a estrutura IF / THEN / ELSEIF. Exemplo:
IF valor=150,00 then
MsgBox(O valor 150,00)
Elseif valor=200,00 then
MsgBox(O valor 200,00)
Elseif valor = 400,00 then
MsgBox(O valor 400,00)
End If

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

Introduo ao VB NET 2008

8/fev/2010

O Comando SELECT CASE


Este comando serve para quando queremos efetuar testes sequenciais.
Ele compara o contedo de uma varivel com uma lista de valores constantes,
executando as linhas de cdigo quando encontrar o valor correspondente.
importante observar que somente possvel fazer uma comparao de igualdade.
Exemplo:
Obs.:Varivel numrica.
Obs.:Suponha que a varivel dia possui o nmero do dia da semana:
Select case dia
Case 0
MsgBox(Hoje domingo)
Case 1
MsgBox(Hoje segunda)
Case 2
MsgBox(Hoje tera)
Case 3 to 5
MsgBox(Hoje quarta, ou quinta ou sexta)
Case 6,7
MsgBox(Oba fim de semana)
End Select

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

Introduo ao VB NET 2008

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

Introduo ao VB NET 2008

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

Introduo ao VB NET 2008

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

Introduo ao VB NET 2008

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

Introduo ao VB NET 2008

8/fev/2010

Criao de SubRotinas (procedures ou funes)


Para criar subrotinas que sero chamadas dentro de outras rotinas :
Logo abaixo do PUBLIC CLASS NOMEDOFORM , sero digitados os comandos
pertencentes a subrotina, envolvidos por: PRIVATE SUB NOME SUBROTINA() ......
END SUB. Exemplo:
Private Sub limpar()
'' limpar textbox
Nome_PacienteTextBox.Clear()
''limpar combobox
Sexo_PacienteComboBox.Text = ""
RG_PacienteTextBox.Clear()
'' limpar maskedTextBox
CPF_PacienteMaskedTextBox.Clear()
Telefone_PacienteMaskedTextBox.Clear()
'' limpar datetimepicker
Nasc_PacienteDateTimePicker.Value = Today
'' limpar label
Cod_PacienteLabel1.Text = ""
End Sub
Para cham-la dentro de outra rotina basta digitar seu nome, levando em considerao a
sequncia lgica da rotina em execuo.

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

Introduo ao VB NET 2008

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

Para inserir mais tabpage na tabcontrol:


Utilize o boto direito do mouse em uma das guias, opo add tab.

Para trocar a tabpage de posio:


Selecionar a tabControl, propriedade TabPages, e atravs do seletor reposicionar a
tabpage respectiva.

Pg: 13

Introduo ao VB NET 2008

8/fev/2010

Categoria MENUS & TOOLBAR


Componentes: MenuStrip, ToolStrip, StatusStrip, Timer
1) Criar um novo projeto chamado PrjDisciplinas
2) Neste projeto criar um formulrio chamado frmMenu com algumas das
seguintes propriedades:
Text
Name
** MaximizeBox
** MinimizeBox
ControlBox

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

Introduo ao VB NET 2008

8/fev/2010

7) Programao opo SAIR:


Duplo clique sobre a opo SAIR, para program-la digite o comando
END que encerra a aplicao:

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

11) Inserir programao para apresentar a data:


No evento Load do formulrio digitar o seguinte cdigo fonte para mostrar a
data na label lbldata:
lblData.Text = "Data: " + Today()
12) Inserir programao para apresentar a hora:
-- Mas para que a data e a hora sejam atualizadas segundo a segundo, ser
necessrio colocar este comando dentro do objeto Timer
Inserir o objeto Relgio (grupo componentes Timer) e configurar as
propriedades:
Name
Interval
Enabled

Tmrtemporizador
1000 (para bater a cada segundo)
True
Pg: 15

Introduo ao VB NET 2008

8/fev/2010

13) Programar o timer:


Duplo clique neste objeto para program-lo:
Private Sub tmrTemporizador_Tick(ByVal sender As System.Object, .
lblhora.Text = "Horas :" timeofday()
End Sub
14) Objeto PictureBox:
Insira este objeto no meio do form configurando as seguintes propriedades:
BackGroundImage
BackGroundImageLayout
Name

*.bmp
Center ou stretch
Pic_imagem

Navegao entre formulrios


1) Opo Disciplinas:
- Inserir um formulrio para cada disciplina constante neste menu, e dentro de
cada um deles explanar sobre a respectiva disicplina.
2) Para fechar formulrios:
a) Atravs do boto Fechar:
----- Boto Fechar -------sair = False
If MsgBox("Deseja realmente sair?? ", MsgBoxStyle.YesNo, "Encerrando...") =
MsgBoxResult.Yes Then
bs_disciplinas.CancelEdit()
conn.Close()
Me.Close()
sair = true
End If
b)

Atravs do evento FormClosed do formulrio (evento disparado ao


clicar sobre o X da barra de ttulos do formulrio:
----- Evento FormClosed --------

If sair <> False Then


Pg: 16

Introduo ao VB NET 2008

8/fev/2010

If MsgBox("Deseja realmente sair?? ", MsgBoxStyle.YesNo, "Encerrando.......")


= MsgBoxResult.No Then
e.Cancel = True
Else
'conn.Close()
End If
End If
3) Opo Desenvolvedores:
- Inserir um novo formulrio (Menu Project, Add Windows Form) e nome-lo
de frmDesenvolvedores:
FormBorderStyle FixedDialog (s sair deste formulrio quando for fechado
no boto)
Size Width
550
Size Height
450
StartPosition
CenterScreen (no centro do formulrio que o chamou)
Text
Desenvolvedores
WindowState
Normal
ControlBox
False (boto fechar, maximizar, minimizar e cone da
barra de ttulo no aparecero)
- Neste formulrio inserir os dados dos alunos desenvolvedores.
4) Opo Help:
- Desenvolver um mini manual, sobre esta aplicao, em HTML, Word ou
PDF e carreg-lo atravs desta opo.
5) Opo Programas Externos:
- Inserir um novo formulrio (Menu Project, Add Windows Form) e nome-lo
de frmUtilitrios, com o layout a seguir:

- Boto Calculadora:
Pg: 17

Introduo ao VB NET 2008

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

Introduo ao VB NET 2008

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

Introduo ao VB NET 2008

8/fev/2010

- D um nome para esta conexo Next


- Na janela de escolha de objetos do BD selecione Tables e clique sobre as
tabelas que faro parte desta conexo (todas que o projeto ir usar) e ento Finish.
********** Menu Data opo Show Data Source:
Expanda a tabela Disciplinas (+), clique na seta e escolha Details (para
visualizar campos e no dataGrid) , no campo CDIGO escolha Label .
Clique com o boto direito do mouse sobre o nome Disciplinas (da tabela),
opo Details, agora arraste-a para dentro do formulrio. Posicione os objetos e
ajuste seus tamanhos.
Delete a barra Binding Navigator (a barra de navegao e manuteno de
registros), bem como os outros objetos que aparecerem na rea de notificao
(TableAdapter, DataSet, BindingSource, ...).
Tambm delete as referncias a este objetos no cdigo fonte:
- Private sub BindNavigator .........
...................
End Sub
- xxxxxTableAdapter.Fill(........................)
21) Desenhe no formulrio um grid (Toolbox, categoria Data, ferramenta
DataGridView).
22) No cdigo fonte antes do Public class nomedoFrm, importar as classes
responsveis pelo acesso e manuteno do bd:
Imports System.Data.OleDb
Imports System.IO
Isto se faz necessrio para o reconhecimento dos objetos de conexo no
formulrio atual.
23) O prximo passo abrir a conexo e a tabela especfica para este formulrio.
Estes comandos sero colocados no evento Load do formulrio:
limpar() ' sub-rotina que ir limpar os textbox
conn.Open() ' abre o bd que est referenciado no modulo na varivel conn
carregar_datagrid() ' coloca os registros da tabela no grid
24) Sub-rotina Carregar_DataGrid :
Private Sub carregar_datagrid()
' atribuir um comando sql para a varivel de comando strsql
strsql = "SELECT * FROM disciplinas ORDER BY descrio"
' criar uma varivel do tipo comando para posteriormente executar a varivel
strsql na conexo
Pg: 20

Introduo ao VB NET 2008

8/fev/2010

Dim objCommand As New OleDbCommand(strsql, conn)


' atribuindo a varivel dr o resultado da execuo da varivel comando
dr_d = objCommand.ExecuteReader()
' ** alimentando o binding source com a tabela virtual
bs_disciplinas.DataSource = dr_d
' ** alimentando o datagridview com o bs
DataGridView1.DataSource = bs_disciplinas
' mostrar os dados da tabela fsica nos textbox
igualar_text()
End Sub
25) Esta sub-rotina responsvel por carregar nas caixas de textos, labels, etc o
contedo dos campos (registros) que esto na memria:
Private Sub igualar_text()
lbl_Cod_disciplina.Text = bs_disciplinas.Current("cod_disciplina")
DescrioTextBox.Text = bs_disciplinas.Current("descrio")
SiglaTextBox.Text = bs_disciplinas.Current("sigla")
End Sub
26) Perceba que, na execuo, ao posicionar o mouse sobre um registro na grid ele
no atualiza os textbox. Para resolver este problema vamos criar mais uma subrotina e iremos cham-la no evento Click da grid:
Private Sub sincronizar_text_grid()
Lbl_Cod_disciplina.Text = DataGridView1.CurrentRow.Cells(0).Value
DescrioTextBox.Text = DataGridView1.CurrentRow.Cells(1).Value
SiglaTextBox.Text = DataGridView1.CurrentRow.Cells(2).Value
End Sub
27) Pesquisa Rpida: duplo clique na caixa de texto txt_pesquisa e ir ativar o
evento TextChanged:
strsql = "SELECT * FROM disciplinas where sigla like '" + txt_pesquisa.Text + "%'"
Dim objCommand As New OleDbCommand(strsql, conn)
dr_disciplina = objCommand.ExecuteReader()
bs_disciplinas.DataSource = dr_disciplina
If bs_disciplinas.Count = 0 Then
MsgBox("Registro no encontrado")
txt_pesquisa.clear()
txt_pesquisa.Focus()
Else
igualar_text()
End If

Navegao de registros
Botes para NAVEGAO de registros:
1) Inserir um groupbox:
- ToolBox, grupo Containers, objeto GroupBox, text = Navegao.
Pg: 21

Introduo ao VB NET 2008

8/fev/2010

2) Inserir quatro botes dentro deste groupbox:


- Toolbox, grupo CommonControls, objeto Button.
- Propriedades dos botes:
Image
Text
ToolTipText
Name

*.bmp
Primeiro
Primeiro
Registro
btnPrim

*.bmp
Anterior
Registro
Anterior
btnAnt

*.bmp
Prximo
Prximo
Registro
btnProx

*.bmp
ltimo
ltimo
Registro
btnUlt

3) Programao dos botes:


----- Boto Primeiro -------' move o ponteiro de registros para a primeira posio da tabela virtual - memria
bs_disciplinas.MoveFirst()
' - atualiza os campos do formulrio com a posio da memria
igualar_text()
----- Boto ltimo -------' move o ponteiro de registros para a ltima posio da tabela virtual - memria
bs_disciplinas.MoveLast()
' - atualiza os campos do formulrio com a posio da memria
igualar_text()

Mensagem de Incio (BOF) e Fim (EOF) de Arquivo Encontrado


----- Boto Anterior -------If bs_disciplinas.Position = 0 Then
MsgBox("nicio de arquivo encontrado")
Else
bs_disciplinas.MovePrevious()
igualar_text()
End If
----- Boto Prximo -------If bs_disciplinas.Count = bs_disciplinas.Position + 1 Then
MsgBox("Fim de arquivo encontrado")
Else
bs_disciplinas.MoveNext()
igualar_text()
End If
BOF = Begin Of File
EOF = End Of File
Pg: 22

Introduo ao VB NET 2008

8/fev/2010

Barra de Manuteno com Comandos SQL


Botes para MANUTENO de registros:
1) Inserir um groupbox:
- ToolBox, grupo Containers, objeto GroupBox, text = Manuteno.
2) Inserir sete botes dentro deste groupbox:
- Toolbox, grupo CommonControls, objeto Button.
- Propriedades dos botes:
Image
Text
Name

*.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

Introduo ao VB NET 2008

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

Introduo ao VB NET 2008

8/fev/2010

Catch erro As Exception


MsgBox("Erro " & vbCrLf & erro.ToString, MsgBoxStyle.Critical, "Erro")
End Try
End If
Observao:
1) Para incluir dados em um campo data utilize cerquilha no lugar do apstrofo
no nome do objeto do formulrio. Ex.:
cmd.CommandText & "#" + Me.Nasc_PacDateTimePicker.Value.Date + "#,"
2) Para incluir dados em um campo nmero no utilize apstrofo, somente
aspas no nome do objeto do formulrio. Ex.:
cmd.CommandText & "" + Me.txt_cod_cliente.text + ","

Consultando registros
4) Inserir um novo formulrio chamado frm_Consultar_Disciplina e dentro dele
um objeto dataGridView :

5) No cdigo fonte antes do Public class nomedoFrm, importar as classes


responsveis pelo acesso e manuteno do bd:
Imports System.Data.OleDb
Imports System.IO
Isto se faz necessrio para o reconhecimento dos objetos de conexo no
formulrio atual.
6) Criar uma sub rotina para alimentar a grid.
7) No FormLoad , abrir a conexo e alimentar a grid com os registros da
tabela:
' abrir a conexo definida no mdulo
conn.Open()
' ***** alimentar a datagrid com os registros da tabela
Carregar_grid()
Pg: 25

Introduo ao VB NET 2008

8/fev/2010

8) Programar o evento FormClosing do formulrio para finalizar este


formulrio ao clicar no X da barra de ttulos:
If MsgBox("Deseja realmente sair?? ", MsgBoxStyle.YesNo,
"Encerrando.......") = MsgBoxResult.No Then
e.Cancel = True
Else
bs_disciplinas.CancelEdit()
conn.Close()
End If
9) Criar um Group Box com as opes possveis de consulta, conforme
modelo:

No evento TextChanged da caixa de texto inserir a seguinte programao:

10) Apresentando o resultado da pesquisa em outro formulrio:


a) Criar um boto com as seguintes propriedades:
name: BTN_OutroForm
text:Apresentar resultado em outro formulrio,
O objetivo deste boto apresentar o registro encontrado em caixas de texto
de outro formulrio. Programe-o para que abra o formulrio a seguir
(frm_mostrar_resultado).
b) Crie tambm um novo formulrio no projeto chamado:
frm_mostrar_resultado. Insira nele a tabela disciplinas da janela
DataSource no modo Details.
Pg: 26

Introduo ao VB NET 2008

8/fev/2010

Para que ele apresente os dados escolhidos no formulrio anterior, basta no


evento formLoad igualar as caixas de texto com os campos do
BindingSource:
Cod_disciplinaLabel1.Text = bs_disciplinas.Current("cod_disciplina")
DescrioTextBox.Text = bs_disciplinas.Current("descrio")
SiglaTextBox.Text = bs_disciplinas.Current("sigla")
11) Efetuando a contagem de registros:
a) Criar um boto com as seguintes propriedades:
name: BTN_Contar
text:Contar Registros,
Crie tambm uma label, chamada Lbl_result para nela mostrar o resultado
da contagem.
O objetivo deste boto apresentar a quantidade (contagem) de registros que
atendam a condio da pesquisa. Programe-o com a seguinte instruo SQL:
lbl_Result.Text = bs_disciplinas.Count
12) Efetuando a soma de registros:
b) Criar um boto com as seguintes propriedades:
name: BTN_Somar
text:Somar Registros,
Aproveite a label Lbl_result para nela mostrar o resultado da soma dos
cdigos.
O objetivo deste boto apresentar a somatria de registros que atendam a
condio da pesquisa. Programe-o com a seguinte instruo SQL:

Pg: 27

Introduo ao VB NET 2008

8/fev/2010

Rotina de Movimentao

1) Como alimentar combobox com campo da tabela:

Pg: 28

Introduo ao VB NET 2008

8/fev/2010

2) Como alimentar listbox com campo da tabela:


Idem ao combobox, com as mesmas propriedades, exceto linha:
lbl_disciplina.Text = cmb_disciplina.SelectedValue
3) Como alimentar um grid com tabelas relacionadas (Inner Join):
Basta atribuir a varivel strsql uma instruo com Inner Join, os demais
comandos so os mesmos utilizados para alimentar a datagrid com uma
tabela.
Dica: Pode usar a string SQL da consulta do Access.
4) Boto Registrar:
Utilizar a rotina para insero de dados (na tabela Registro_Meno).

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

Introduo ao VB NET 2008

8/fev/2010

2) Setar a propriedade Document dos Print Dialog e PrintPreviewDialog para


Printdocument (pois ele que possui o cdigo para imprimir).
3) - Duplo clique no obj Print Document:
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As
System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim objimpressao As Graphics = e.Graphics
' imagem
e.Graphics.DrawImage(Image.FromFile("logo_ete.JPG"), 50, 25)
' texto = objimpressao.DrawString(string,fonte,cor,coluna,linha)
objimpressao.DrawString("FICHA INDIVIDUAL DE DISCIPLINA", New
System.Drawing.Font("Times new roman", 14, FontStyle.Bold), Brushes.Black, 200,
50)
' linha cor, espessura, posio x ponto inicial(coluna e linha), posio y
ponto final (coluna e linha)
e.Graphics.DrawLine(New Pen(Color.DarkBlue, 2.0), 50, 75, 800, 75)
' cdigo da disciplina
objimpressao.DrawString("Cdigo: " +
bs_disciplinas.Current("Cod_disciplina").ToString, New System.Drawing.Font("Arial",
10, FontStyle.Bold), Brushes.Black, 50, 120)
' sigla da disciplina
objimpressao.DrawString("Sigla: " + bs_disciplinas.Current("Sigla"), New
System.Drawing.Font("Arial", 10, FontStyle.Bold), Brushes.Black, 50, 140)
' descrio da disciplina
objimpressao.DrawString("Descrio : " + bs_disciplinas.Current("descrio"),
New System.Drawing.Font("Arial", 10, FontStyle.Bold), Brushes.Black, 50, 160)
e.Graphics.DrawLine(New Pen(Color.DarkBlue, 2.0), 50, 1100, 800, 1100)
End Sub
Private Sub btn_visualizar_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_visualizar.Click
With PrintPreviewDialog1
.Text = " Visualizando a impresso" ' ttulo da janela
.WindowState = FormWindowState.Maximized ' status da janela do preview
.PrintPreviewControl.Columns = 2 'quantas pginas sero mostradas na tela
.PrintPreviewControl.Zoom = 0.6 ' zoom inicial do preview
.ShowDialog() ' mostrar janela preview
End With
End Sub

Pg: 30

Introduo ao VB NET 2008

8/fev/2010

Private Sub btn_imprimir_Click(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles btn_imprimir.Click
If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
PrintDocument1.Print()
End If
End Sub

Relatrio geral via programao

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

Introduo ao VB NET 2008

8/fev/2010

Public Class frm_Relat_Um


Private pag As Integer = 1 ' varivel para controlar o salto de pgina
Private registro As Integer = 0 ' varivel contadora de registros impressos
Dim fim, linha As Integer ' variveis para controlar linhas por pgina e fim do rel
Private Sub PrintDoc_PrintPage(ByVal sender As System.Object, ByVal e As
System.Drawing.Printing.PrintPageEventArgs) Handles PrintDoc.PrintPage
Dim objimpressao As Graphics = e.Graphics ' ativa a classe grfica
'********************************
'imprime o cabealho do relatrio
'********************************
e.Graphics.DrawImage(Image.FromFile("logo_ete.JPG"), 50, 25)
objimpressao.DrawString("CLNICA DR. ALBERTO SRGIO FREDERICO",
New System.Drawing.Font("Times new roman", 14, FontStyle.Bold), Brushes.Black,
250, 50)
' coluna inicial, linha inicial, coluna final, linha final
e.Graphics.DrawLine(New Pen(Color.DarkBlue, 2.0), 50, 75, 800, 75)
' cabealho de colunas
objimpressao.DrawString("Cd.", New System.Drawing.Font("Arial", 10,
FontStyle.Underline), Brushes.Blue, 50, 100)
objimpressao.DrawString("Nome do Paciente", New
System.Drawing.Font("Arial", 10, FontStyle.Underline), Brushes.Blue, 100, 100)
objimpressao.DrawString("Numero do RG", New System.Drawing.Font("Arial",
10, FontStyle.Underline), Brushes.Blue, 300, 100)
linha = 130 ' alimentando varivel que controlar a linha ser impressa
'********************************
'impressodos registros
'********************************
' criando as linhas de impresso de acordo com a quantidade de registros
While linha < 1075 And registro <> fim
' imprimindo o registro, campo a campo
objimpressao.DrawString(Me.CadastroPacientesBindingSource.Current("CodigoPacient
e"), New System.Drawing.Font("Arial", 10, FontStyle.Bold), Brushes.Black, 50, linha)
objimpressao.DrawString(Me.CadastroPacientesBindingSource.Current("NomePaciente
"), New System.Drawing.Font("Arial", 10, FontStyle.Bold), Brushes.Black, 100, linha)
objimpressao.DrawString(Me.CadastroPacientesBindingSource.Current("Numero_RG"
), New System.Drawing.Font("Arial", 10, FontStyle.Bold), Brushes.Black, 300, linha)
' movendo para o prximo registro
Me.CadastroPacientesBindingSource.MoveNext()
' incrementando a varivel contadora de registros
registro += 1
' incrementando a varivel para pular linha
linha += 20
End While
Pg: 32

Introduo ao VB NET 2008

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

Introduo ao VB NET 2008

8/fev/2010

Opo Relatrios (no menu principal):


1) Sub opo: Relatrio Cadastral:
a) Disciplinas ( modo retrato)
b) Alunos ( modo paisagem )

PROPRIEDADES DO OBJETO DATAGRIDVIEW:


PROPRIEDADE

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

Altera a cor de fundo


= single, deixa as linhas internas de
acordo com a borda, desativando o efeito
3d
Altera a fonte, alinhamento, cor da fonte,
do fundo do cabealho de colunas
Altera a fonte, alinhamento, cor da fonte,
do fundo do corpo da grid
Habilita alteraes no cabealho de coluna
Cor da grade
No permite alterao na grid, mas
permite excluso
Altera a cor da outra linha que no ficou
zebrada
Altera a borda lateral de acordo com o
estilo selecionado
Altera a cor interna (linhas) da grid,
sobrepondo o zebrado.
Para alterar a cor, somente apagar o nome
dela.

Pg: 34

Introduo ao VB NET 2008

8/fev/2010

Figura 01

Figura 02

Pg: 35

Introduo ao VB NET 2008

8/fev/2010

Figura 03

Figura 04

Pg: 36

Introduo ao VB NET 2008

8/fev/2010

PROPRIEDADES DO OBJETO DATAGRIDVIEW VIA


CDIFICAO:
'cor no fundo
DataGridView1.BackgroundColor = Color.Fuchsia
' *** tamanho da coluna de acordo com o tamanho do maior contedo desta coluna
(leva o cabec em considerao)
DataGridView1.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.DisplayedCells
' *** tamanho da coluna de acordo com o tamanho do maior contedo desta coluna (no
leva o cabec em consideraao)
DataGridView1.AutoSizeColumnsMode
=DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader
'**** incluir tooltiptext no cabealho da coluna
DataGridView1.Columns(0).HeaderCell.ToolTipText = "O Cdigo da disciplina
respectiva"
DataGridView1.Columns(1).HeaderCell.ToolTipText = "O nome da disciplina
respectiva"
DataGridView1.Columns(2).HeaderCell.ToolTipText = "A sigla da respectiva
disciplina"
'*** alterar texto do cabealho
DataGridView1.Columns(0).HeaderCell.Value = "Cd"
DataGridView1.Columns(1).HeaderCell.Value = "Disciplina"
DataGridView1.Columns(2).HeaderCell.Value = "Sigla"

Pg: 37

S-ar putea să vă placă și