Pesquisar na Comunidade
Mostrando resultados para as tags ''Controle de gastos''.
Encontrado 1 registro
-
Galera estou fazendo um programa para controle de gastos, e ele esta seguindo uma rotina estranha e que eu não consigo resolver. O Problema é o seguinte: Existe uma TextBox na qual o usuário insere o valor do gasto/recebimento, está tudo funcionando direitinho até o momento em que o usuário deleta um numero dessa TextBox. Ao deletar, na tela do usuário o numero desaparece, mas quando ele insere um novo numero, o numero que foi deletado reaparece... Acredito que o problema esteja no modo que utilizei para colocar a ","(virgula) na segunda casa do numero, se souberem outro jeito de colocar a virgula ou então uma forma para fazer o backspace deletar de verdade por favor me ajude. Código Relacionado ao Problema: Variáveis Pré Declaradas: Dim LimparTextBoxValor As Boolean = True Dim LimparTextBoxDescrição As Boolean = True Dim LimparTextBoxDetalhes As Boolean = True Dim valorAtual As Double = 0 Dim ValorDepoisDoBackspace As Double = 0 Dim CursorNoFimDaLinhaAposPrimeiroClick As Boolean = True Private Sub TrataCaractereRecebido(sender As Object, ByVal UltimaTeclaApertada As System.Windows.Forms.KeyPressEventArgs) Handles ValorTextBox.KeyPress Dim caractereApertado As Char = UltimaTeclaApertada.KeyChar If (Char.IsDigit(caractereApertado)) Then AtualizarValor(caractereApertado) UltimaTeclaApertada.Handled = True ElseIf Char.IsControl(caractereApertado) Then Else MsgBox("Digite Apenas Numeros Por Favor") UltimaTeclaApertada.Handled = True End If ColocaCursorNaUltimaPosicao(ValorTextBox) End Sub Private Sub AtualizarValor(caractereDoDigito As Char) Dim valorDoDigito As Double = Convert.ToDouble(caractereDoDigito.ToString) valorAtual = valorAtual * 10 + valorDoDigito MostraNumeroNaTextBoxEmReais(valorAtual) 'chamada da função passando o parametro valorAtual End Sub Private Sub MostraNumeroNaTextBoxEmReais(numero As Double) ' declaração da função ValorTextBox.Clear() ValorTextBox.Text = " R$ " + ColocaDuasCasasDecimais(numero.ToString) End Sub Private Function ColocaDuasCasasDecimais(numeroEscrito As String) Dim numeroEscritoComDuasCasasDecimais As String = "" If numeroEscrito.Length = 1 Then numeroEscrito = "00" + numeroEscrito ElseIf numeroEscrito.Length = 2 Then numeroEscrito = "0" + numeroEscrito End If Dim parteDecimal As String = numeroEscrito.Substring(numeroEscrito.Length - 2, 2) Dim ParteDasCentenas As String = numeroEscrito.Substring(0, numeroEscrito.Length - 2) numeroEscritoComDuasCasasDecimais = ParteDasCentenas + "," + parteDecimal Return numeroEscritoComDuasCasasDecimais End Function
- 1 resposta
-
- backspace
- Nao Deleta
- (e %d mais)