none
Loop na TxtBox para não deixá-la em branco RRS feed

  • Pergunta

  • Bom dia pessoal, sou novo por essas bandas e estou precisando duma ajuda de voces.

    Sou engenheiro e estou montando uma "calculadora" para transmissão, com formulas "receita de bolo", mas quando deixo alguma textbox sem dado (numérico) o formulário conflita e aparecem erros.

    Gostaria de saber como eu poderia estar forçando o usuário a digitar valores em todas as textbox antes dos calculos se iniciarem, evitando assim o clinflito pela falta de variáveis..

    Qualquer duvida sobre a minha explicação do problema, por favor, perguntem. E desde já obrigado.

    sexta-feira, 11 de julho de 2014 10:45

Respostas

  • pode colocar a procedure abaixo em um button...

        Private Sub prcVerificarCampos()
    
            Dim c As Control
    
            For Each c In Me.Controls
                If c.GetType.Name = "TextBox" And c.Text = "" Then
                    MsgBox("Favor Preencha o Campo " + c.Name)
                    c.Select()
                    Exit Sub
                End If
            Next
        End Sub
    

    sexta-feira, 11 de julho de 2014 13:01
  • Olá Braja,

      veja esse exemplo em um Button :

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
            For Each ctrl In Me.Controls
    
                If ctrl.GetType Is GetType(TextBox) Then
    
                    Dim txt As TextBox = CType(ctrl, TextBox)
    
                    If txt.Text = String.Empty Then
    
                        MessageBox.Show("Texto Vazio !! Preencha Corretamente")
                        txt.Select()
    
                        Exit For
    
                    End If
    
                End If
    
    
            Next
    
        End Sub

    sexta-feira, 11 de julho de 2014 13:08

Todas as Respostas

  • Olá Braja,

     você usa VB.Net com WinForms ?

    sexta-feira, 11 de julho de 2014 10:52
  • McBraja...

    tenta isso e vê se te ajuda...

       Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If funTaTudoPreenchido() = False Then
    
                MsgBox("Tá Faltando Coisa Aí!")
    
            End If
        End Sub
    
        Private Function funTaTudoPreenchido() As Boolean
    
            Dim c As Control
            Dim k As Boolean = True
    
    
            For Each c In Me.Controls
                If c.GetType.Name = "TextBox" And c.Text = "" Then
                    k = False
                End If
            Next
    
            funTaTudoPreenchido = k
        End Function
    End Class

    sexta-feira, 11 de julho de 2014 11:04
  • WinForm
    sexta-feira, 11 de julho de 2014 12:22
  • Então Daniel, não mudou muita coisa, mas provavelmente por causa da minha de conhecimento na área.

    O que consegui até agora seria isso: 

    If textbox.Text = String.Empty Then
                MsgBox("Todos os campos precisam ser preenchidos")
            End If

    Bem simples. Não há como fazer com que o cursor volte a textbox e o código pare de ser lido?

    Desculpe pelas perguntas mas sou Dummy nesse assunto.

    sexta-feira, 11 de julho de 2014 12:46
  • Seria legal que o botão de igual só ficasse ativo (habilitado para click) depois de o usuario clicar em um dos operadores aritimeticos, ou se voce fizer um assim

    if(txt_operacaoum == "" || txt_operacaodois == "")
    {
       messsagem de aviso ou erro para o usuario
    
    }else
    {
    
     conclua sua operação!!!
    }

    espero ter ajudado


    __________________________________________________________________________________________________________ Atenciosamente, Mike Rodrigues De Lima.

    sexta-feira, 11 de julho de 2014 12:56
  • pode colocar a procedure abaixo em um button...

        Private Sub prcVerificarCampos()
    
            Dim c As Control
    
            For Each c In Me.Controls
                If c.GetType.Name = "TextBox" And c.Text = "" Then
                    MsgBox("Favor Preencha o Campo " + c.Name)
                    c.Select()
                    Exit Sub
                End If
            Next
        End Sub
    

    sexta-feira, 11 de julho de 2014 13:01
  • Olá Braja,

      veja esse exemplo em um Button :

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
            For Each ctrl In Me.Controls
    
                If ctrl.GetType Is GetType(TextBox) Then
    
                    Dim txt As TextBox = CType(ctrl, TextBox)
    
                    If txt.Text = String.Empty Then
    
                        MessageBox.Show("Texto Vazio !! Preencha Corretamente")
                        txt.Select()
    
                        Exit For
    
                    End If
    
                End If
    
    
            Next
    
        End Sub

    sexta-feira, 11 de julho de 2014 13:08
  • Pensei na idéia do botão mas empaquei no meio também. Então, os calculos já estão todos pré-definidos quando eu aperto o botão calcular. Eu tenho 14 textbox onde tenho q inserir minhas variáveis que resultarão em 11 outros campo, mas se falta uma, a sequencia do codigo cai como um dominó, uma depende da outra. A minha idéia e só permitir que a sequencia de calculos começasse se todos os campo de entrada de dados estiverem preenchidos.

    Como voce faria para desabilitar o botão calcular antes que todos os campos estejam preenchidos?

    Desculpa ai Mike, não sei de onde tirei Daniel.

    sexta-feira, 11 de julho de 2014 13:30
  • mcBraga,

    se você já tem um botão Calcular você pode simples fazer assim....

    antes do seu código de calculo você põe um dos códigos que mandamos pra você como sugestão...

    e no trecho onde enviamos a mensagem informando que existe campo vazio, você inclui mais uma linha com o comando Exit Sub, com isso o programa não irá seguir seu código para calcular....



    sexta-feira, 11 de julho de 2014 17:48