MASCARA EM LABEL

MARCOSSFERREIRA 29/04/2011 11:00:00
#372786
Bom dia pessoal novamente venho por este pedir ajuda, estou prestes a terminar um programa aqui e não consigo fazer com que a label e nem a TextBox apareça com esta formatação ( ##,###).

Ex: Tenho a TextBox1 e TextBox2 e Label1 eu executo a soma:

Label1.Text = (Val(TextBox1 .Text) + Val(TextBox2.Text))

Eu digito os numeros consegui limitar na textBox pra digitar 6 casas, mas na label nao consigo e em nenhuma delas eu consigo colocar uma mascara para que ao digitar ja prencha a virgula no local certo, e permitindo usar so 6 casas decimais.

Obrigado.
PEGUDO 29/04/2011 11:17:24
#372788
Resposta escolhida
Cara antes de te ajudar, esclareça, por favor:

1. Quantas casa existirão antes da vírgula? 2 ou poderá haver mais?
Exemplo: 23,123456 ou 123,123456

2. Depois da vírgula terão até seis 6 casas, sem contar com as casas antes da vírgula?
Exemplo: 23,123456.
MARCOSSFERREIRA 29/04/2011 11:25:46
#372792
Então do mesmo jeito que coloquei na formatação: ( ##,###)....duas casas antes da virgula e tres casas apos a virgula. Sao 5 numeros dois antes da virgula e 3 apos.
PEGUDO 29/04/2011 12:11:01
#372800
Desculpe a demora. é que caiu a luz aqui na empresa.
Coloque isto num módulo

[txt-color=#0000f0]Public Sub[/txt-color] FormatarValor([txt-color=#0000f0]ByRef[/txt-color] QualValor [txt-color=#0000f0]As String[/txt-color])
QualValor = Replace(QualValor, [txt-color=#e80000][Ô],[Ô][/txt-color], [txt-color=#e80000][Ô][Ô][/txt-color])
QualValor = Replace(QualValor, [txt-color=#e80000][Ô].[Ô][/txt-color], [txt-color=#e80000][Ô][Ô][/txt-color])
QualValor = Replace(QualValor, [txt-color=#e80000][Ô]0[Ô][/txt-color], [txt-color=#e80000][Ô][Ô][/txt-color])
[txt-color=#0000f0]If[/txt-color] QualValor = [txt-color=#0000f0]Nothing Then Exit Sub[/txt-color]

[txt-color=#0000f0]If[/txt-color] QualValor.Length = 1 [txt-color=#0000f0]Then[/txt-color]
QualValor = [txt-color=#e80000][Ô]0,0[Ô][/txt-color] & QualValor
[txt-color=#0000f0]ElseIf[/txt-color] QualValor.Length = 2 [txt-color=#0000f0]Then[/txt-color]
QualValor = QualValor.Insert(0, [txt-color=#e80000][Ô]00,[Ô][/txt-color])
[txt-color=#0000f0]ElseIf[/txt-color] QualValor.Length = 3 [txt-color=#0000f0]Then[/txt-color]
QualValor = QualValor.Insert(0, [txt-color=#e80000][Ô]0[Ô][/txt-color])
QualValor = QualValor.Insert(2, [txt-color=#e80000][Ô],[Ô][/txt-color])
[txt-color=#0000f0]ElseIf[/txt-color] QualValor.Length = 4 [txt-color=#0000f0]Then[/txt-color]
QualValor = QualValor.Insert(2, [txt-color=#e80000][Ô],[Ô][/txt-color])
[txt-color=#0000f0]ElseIf[/txt-color] QualValor.Length = 5 [txt-color=#0000f0]Then[/txt-color]
QualValor = QualValor.Insert(2, [txt-color=#e80000][Ô],[Ô][/txt-color])
[txt-color=#0000f0]End If
End Sub[/txt-color]


ESTES SÃO OS CÓDIGOS QUE VOCÊ TEM QUE COLOCAR NO FORMULÁRIO
ALTERE OS NOMES DOS CONTROLES PARA OS SEUS


[txt-color=#0000f0]Private Sub[/txt-color] TextBox1_KeyPress([txt-color=#0000f0]ByVal[/txt-color] sender [txt-color=#0000f0]As[/txt-color] Object, [txt-color=#0000f0]ByVal[/txt-color] e [txt-color=#0000f0]As[/txt-color] System.Windows.Forms.KeyPressEventArgs) [txt-color=#0000f0]Handles[/txt-color] TextBox1.KeyPress
[txt-color=#007100][ô]EVITA QUE LETRAS SEJAM DIGITADAS[/txt-color]
[txt-color=#0000f0]Select Case[/txt-color] e.KeyChar
[txt-color=#0000f0]Case[/txt-color] Chr(48) To Chr(57), Chr(8)
[txt-color=#0000f0]Case Else[/txt-color]
e.Handled = [txt-color=#0000f0]True[/txt-color]
[txt-color=#0000f0]End Select
End Sub


Private Sub[/txt-color] TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) [txt-color=#0000f0]Handles[/txt-color] TextBox2.KeyPress
[txt-color=#007100][ô]EVITA QUE LETRAS SEJAM DIGITADAS[/txt-color]
Select Case e.KeyChar
Case Chr(48) To Chr(57), Chr(8)
Case Else
e.Handled = True
End Select
End Sub


Private Sub TextBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) [txt-color=#0000f0]Handles[/txt-color] TextBox1.KeyUp
Dim Valor As String = TextBox1.Text
FormatarValor(Valor)
TextBox1.Text = Valor
TextBox1.SelectionStart = 15
End Sub


Private Sub TextBox2_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) [txt-color=#0000f0]Handles[/txt-color] TextBox2.KeyUp
Dim Valor As String = TextBox2.Text
FormatarValor(Valor)
TextBox2.Text = Valor
TextBox2.SelectionStart = 15
End Sub


Private Sub BtnSomar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) [txt-color=#0000f0]Handles[/txt-color] BtnSomar.Click
Dim strValor1 As String = Replace(TextBox1.Text, [txt-color=#e80000][Ô],[Ô][/txt-color], [txt-color=#e80000][Ô].[Ô][/txt-color])
Dim strValor2 As String = Replace(TextBox2.Text, [txt-color=#e80000][Ô],[Ô][/txt-color], [txt-color=#e80000][Ô].[Ô][/txt-color])
Dim Valor1 As Double = Val(strValor1)
Dim Valor2 As Double = Val(strValor2)
Dim Valor As String
Dim Soma As Double = Valor1 + Valor2

Valor = Soma.ToString
FormatarValor(Soma)
Label2.Text = Valor
End Sub
RODRIGOFERRO 29/04/2011 13:02:01
#372807
Caramba, nao serve um MaskedtextBox não ?

Abraços
MARCOSSFERREIRA 29/04/2011 13:09:48
#372809
Obrigado vou utilizar...muito obrigado mesmo e respondendo ao Zerocal, não servi o maskedtextBox.
Tópico encerrado , respostas não são mais permitidas