DESTACAR TEXTBOX NA VALIDACAO

LOPESKUTI 25/05/2012 13:22:28
#402776
Olá, estou desenvolvendo uma aplicação e já tive muita ajuda nela aqui no vb.mania. Queria agradecer.
Só que apareceu mais uma coisinha.
Eu coloquei um ErrorProvider no formulário pra quando não passar na validação ele piscar do lado do campo e focar, só que eu não gostei muito visualmente.
Queria saber como eu faço para criar uma borda vermelha em torno do campo.

Obrigado.
ALTAIR148 25/05/2012 13:34:09
#402779
Resposta escolhida
LOPESKUTI 25/05/2012 13:58:43
#402782
E depois de inserir a sub como eu aponto ela?
Como faço tal controle ficar vermelho ??

Meu código ficou assim

Private Function ValidarFormulario() As Boolean
If nomeTextBox.Text.Trim() = String.Empty Then
ErrorProvider1.SetError(nomeTextBox, [Ô]Informe o endereço[Ô])
nomeTextBox.Focus()
Return False
End If
If enderecoTextBox.Text.Trim() = String.Empty Then
ErrorProvider1.SetError(enderecoTextBox, [Ô]Informe o endereço[Ô])
enderecoTextBox.Focus()
Return False
End If

If cidadeTextBox.Text.Trim() = String.Empty Then
ErrorProvider1.SetError(cidadeTextBox, [Ô]Informe a cidade[Ô])
cidadeTextBox.Focus()
Return False
End If

If estadoComboBox.SelectedIndex = -1 Then
ErrorProvider1.SetError(estadoComboBox, [Ô]Informe o estado[Ô])
estadoComboBox.Focus()
SendKeys.Send([Ô]{F4}[Ô])
Return False
End If

Return True
End Function

Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
Dim g As Graphics = e.Graphics
Dim pen As New Pen(Color.Red, 2.0)

Dim txtBox As Control
For Each txtBox In Me.Controls
If TypeOf (txtBox) Is TextBox Then
g.DrawRectangle(pen, New Rectangle(txtBox.Location, _
txtBox.Size))
End If
Next
pen.Dispose()
End Sub
SYSZEN 25/05/2012 14:02:16
#402784
fazes uma shape a volta de cada text ja na cor que pretendes e ocultas , quando acontecer o erro qe pretendes é so metela visivel
é simples nada de complicacoes
ALTAIR148 25/05/2012 14:03:42
#402785
BorderColor(NomedoTextbox, Color.Red)
LOPESKUTI 25/05/2012 15:05:16
#402794
Deu certinho. Usando o shape. Valeu syszen.

altair148 eu tentei fazer com bordercolor tbm só que ele não reconheceu, eu tenho que importar algum namespace.
ALTAIR148 25/05/2012 15:22:38
#402798
Não, amigo repare que no link que lhe passei tem a sub BorderColor

Private Sub BorderColor(ByRef _Control As Control, ByVal _Color As Color)

[ô] Variables para metodos graficos

Dim g As Graphics = Me.CreateGraphics

Dim pen As New Pen(_Color, 2.0)



[ô] Cambia el borde

g.DrawRectangle(pen, New Rectangle(_Control.Location, _Control.Size))



[ô] Libera los recursos

pen.Dispose()

g = Nothing

End Sub


ai é só chama-lá.

  If cidadeTextBox.Text.Trim() = String.Empty Then
ErrorProvider1.SetError(cidadeTextBox, [Ô]Informe a cidade[Ô])
cidadeTextBox.Focus()
BorderColor(cidadeTextBox, Color.Red)
Return False
End If


SYSZEN 25/05/2012 16:24:19
#402805
nice ;D
boa sorte com isso
Tópico encerrado , respostas não são mais permitidas