Total de visitas: 65931
Dicas diversas
Dicas Visual Basic
Há coisas tão simples, mas tão simples, que de simples se tornam impossíveis de se achar no vasto mundo da internet. Aqui estão umas dicas nas quais gastei quase todos os meus neurônios e um pouco de dinheiro.
‘OPERAÇOES MATEMATICAS
Dim A As ValidationConstraints
A = Val(FOGO.Text)
FOGO.Text = A + 1
'CARREGA A FOTO
Esta Rotina carrega uma foto com o caminho especificado em um textbox ou label.
Private Sub carregafoto()
Try
Dim nomeImagem As String
nomeImagem = textbox.Text
picfoto.Image = Image.FromFile(nomeImagem)
Catch ex As Exception
MsgBox("NÃO FOI POSSÍVEL CARREGAR A FOTO!")
End Try
End Sub
Transformar qualquer valor na moeda corrente
Dim dado as string
dado = text1.text
|
O arquivo existe ou não
Se vc quiser saber se existe ou não um arquivo insira o código abaixo em qualquer lugar do seu prg.:
If Dir$("X:XXXXXXXXX.XXX") <> "" Then
Else |
CRITÉRIOS DE BUSCA E OBTENÇÃO DE DADOS
Definida a string de conexão para obter dados da aplicação Office , no caso o arquivo mdb , vou utilizar os objetos : OleDbConnection, OleDbCommand e OleDbDataReader. (Não vou utilizar DataAdapter e DataSets pois vou apenas obter e exibir os dados)
Para obter os dados vou usar instruções SQL e como vamos acessar uma base de dados Access é bom que você tenha em mente que a sintaxe para instruções SQL para o Access não é 100% compatível com a do SQL Server.
O problema principal esta nas expressões de critério , onde você vai decidir qual dados deseja obter. Geralmente nestas expressões usamos a cláusula WHERE seguido das expressões com valores.
· Então lembre-se que no Access valores para datas e horas devem ser envolvidos com sinal (#)
ð Ex: SELECT nome FROM Clientes WHERE datapedido > #10/10/04#;
· Valores não numéricos devem ser envolvidos por aspas simples (')
ð Ex: SELECT Pedido FROM Clientes WHERE nome = ' " & txtNome.text & " ' ".
Limpar campos (caixa de texto) do formulário
Existe uma maneira bem simples e rápida de limpar todos os campos de um formulário de uma única vez. Para isso utiliza a seguinte sintaxe:
Private Sub LIMPARCAMPOS()
Dim i as integer
End sub |
REALIZAR A FUNÇÃO DA TECLA TAB POR ENTER
Esta Dica é para quem quer que a tecla enter funcione como um tab para mudar de campo.
1º - Mude a propriedade KeyPreview do formulário para true.
2º - Coloque o seguinte código no evento KeyDown do formulário.
If e.KeyCode = Keys.Enter Then
SendKeys.Send("{tab}")
End If
‘ADICIONA OBJETOS EM TEMPO DE EXECUÇAO
Private Sub criaobjetos()
'CRIA UM CONTROLE
Dim MENU = New StatusBar()
'CRIA SUBCONTROLES
Dim ABRIR = New StatusBarPanel()
Dim SALVAR = New StatusBarPanel()
Dim NOVO = New StatusBarPanel()
Dim HORA = New StatusBarPanel()
'CONFIGURA OS SUBCONTROLES
ABRIR.Text = "ABRIR"
SALVAR.Text = "SALVAR"
NOVO.Text = "NOVO"
HORA.Text = TimeOfDay
'ADICIONA O CONTROLE NO FORM
Me.Controls.Add(MENU)
'ADICIONA OS SUBCONTROLES NO CONTROLE
MENU.Panels.Add(ABRIR)
MENU.Panels.Add(SALVAR)
MENU.Panels.Add(NOVO)
MENU.Panels.Add(HORA)
'TORNA VISIVEIS OS SUBCONTROLES
MENU.ShowPanels = True
End Sub
Alinhando controles no formulário
Para alinhar controles no formulário, basta incluir o seguinte código no procedimento que você desejar:
Para alinhar horizontalmente:
controle.Left = (Form.Width / 2) - (controle.Width / 2) |
Para alinhar verticalmente:
controle.Top = (Form.Height / 2) - (controle.Height / 2) |
Observações:
controle é o nome do controle que você deseja alinhar, e form é o nome do formulário onde está o controle.
Se o formulário que contém o controle, for redimensionável, então é bom que você coloque o código no procedimento Form_Resize. Assim, sempre que você modificar o tamanho do formulário, o controle será automaticamente centralizado.
Ajustando os controles dentro do Formulário
Como já dito em uma dica enviada por não sei quem, podemos centralizar os controles no Form usando os procedimentos já citados. Você pode também, fazer com que o tamanho de seus controle fique proporcional ao tamanho do Formulário. É fácil, veja o tamanho e altura(Width e Height) do Form e do controle que vai utilizar. Veja a diferença entre eles, vamos supor que seja 600.
No evento Form_Resize(que ocorre qdo o tamanho da form é alterado), atualize a proporção:
frame1.width = form1.width - 600
|
Qdo vc maximizar a tela o controle se ajustará, e qdo alterar o tamanho também. Nesse evento vc também pode escrever os procedimentos p/ centralizar os controles como mandou um colega aí, e fazer várias outras coisas.
PASSAR VALORES ENTRE FORMULÁRIOS
TextBox3.Text = My.Forms.Form1.TextBox1.Text
FAZ O FORM ABRIR DEVAGAR OU FECHAR DEVAGAR
ABRIR
' ----- Faz o formulário desvanecer
Dim contador As Integer
For contador = 10 To 100 Step +1
Me.Opacity = contador / 100
Me.Refresh()
Threading.Thread.Sleep(60)
Next contador
FECHAR
' ----- Faz o formulário desvanecer
Dim contador As Integer
For contador = 90 To 10 Step -1
Me.Opacity = contador / 100
Me.Refresh()
Threading.Thread.Sleep(60)
Next contador
Me.Close()
Não se esqueça de agradecer recomendando o Blog
Jacob Samuel