none
Problema con Funcion Enabled = True y False RRS feed

  • Pregunta

  • Bueno, mi problema es algo de novatos relativamente, deje de estudiar el lenguaje cuando apenas lo iniciaba y ahora vuelvo a empezar desde 0.

    Tengo un Problema con las funciones Enabled = True y False, las cuales quiero que bloquen botones dependiendo del digito de un Label, Sin embargo, el programa hace caso omiso al codigo que le doy. y realmente no se que estoy haciendo mal.

    Aqui les dejo mi codigo aver si alguien me podria auxiliar:

    Public

    Class Form1


       

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

            Label1.Text = 60

            Label2.Text = 0

       

    End Sub


       

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

            Label1.Text = Label1.Text + 1

            Label2.Text = Label2.Text - 1

           

    If Label2.Text = 0 Then


                Button1.Enabled =

    False


           

    ElseIf Label2.Text = 1 Or 2 Then


                Button1.Enabled =

    True


           

    End If


       

    End Sub


       

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click

            Label1.Text = Label1.Text - 1

            Label2.Text = Label2.Text + 1

           

    If Label2.Text = 2 Then


                Button2.Enabled =

    False


           

    ElseIf Label2.Text = 0 Or 1 Then


                Button2.Enabled =

    True


           

    End If


       

    End Sub

    End

    Class

    lunes, 15 de abril de 2013 10:56

Todas las respuestas

  • Cuando preguntas por ejemplo If Label2.Text = 2Then

    está mal ya que .Text devuelve un String. Debes hacer una conversion a cadena o preguntar directamente por la cadena, "1" , "3", .... para poder realizar la comparación.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    lunes, 15 de abril de 2013 12:52
  • Para realziar el OR ...

    ElseIf Label2.Text = 0Or 1Then --> debes cambiar ElseIfLabel2.Text = "0" OrLabel2.Text = "1" Then


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    lunes, 15 de abril de 2013 12:55
  • hola

    lo que podrias haceres castear al tipo correcto

    If CInt(Label2.Text) = 0 Then

    ----

    depsues no uses esto

    ElseIf Label2.Text = 1 Or 2 Then

    deberias usar

    ElseIf CInt(Label2.Text) = 1 Or CInt(Label2.Text) = 2 Then

    --

    lo que aconsejaria es

    Option Strict (Instrucción)

    que habilites la opcion asi al compilar te exige que definas los tipos de datos correctos

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    lunes, 15 de abril de 2013 13:01