none
Label.Text初始化问题 RRS feed

  • 问题

  • Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
            If Len(TextBox3.Text) = 6 Then
                TextBox1.Text = TextBox1.Text + TextBox2.Text
                TextBox3.Text = ""
                TextBox3.Focus()
            End If     
        End Sub

     

     

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
            Dim C As Integer
            C = Label1.Text = 0
            If Len(TextBox3.Text) = 6 Then
                C = C + 1
            End If
            Label1.Text = C

            TextBox3.Text = ""
     End Sub

     

    问题:

    怎么样做到程序一运行,Label就显示数字  0  ,并且textbox3每输入6个字符,Label就加1并显示。

    2008年11月22日 7:21

答案

  •  

        Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
            Label1.Text = Len(TextBox3.Text) \ 6
        End Sub

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Label1.Text = "0"
        End Sub

    2008年11月22日 8:14
    版主
  •  

    你可以在KeyDown事件里做,没输入6个就加1,包括退格键。

        Dim count As Integer = 0
        Private Sub TextBox3_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox3.KeyDown
            count = count + 1
            Label1.Text = count \ 6
        End Sub

    2008年11月23日 8:15
    版主

全部回复

  •  

        Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
            Label1.Text = Len(TextBox3.Text) \ 6
        End Sub

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Label1.Text = "0"
        End Sub

    2008年11月22日 8:14
    版主
  •  

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Label1.Text = "0"
        End Sub

     

    以上代码OK。 :)

     

     

    Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
            Label1.Text = Len(TextBox3.Text) \ 6
     End Sub

     

    以上代码不行,是我没把问题说清楚,不好意思。

     

     

    label1.text初始化是 0 ,当textbox3.text的字符数=6个的时候,会促发一次事件,每促发一次事件,label1.text的值就加1.

     

    是累加,当label1.text的值=10的时候提示。

    2008年11月23日 1:47
  • Len(TextBox3.Text) \ 6

    跟累加的效果相同,是个捷径,当然进行判断Len也完全是可以的啊。

    2008年11月23日 4:56
    版主
  •  

    这样是可以在textbox3.text里面有6个字符的时候 +1 ,但是如果清空textbox1.text,他又回到 0 了,

     

    Label的作用是统计textbox3.text输入了几次有效字符。(有效字符是6位,达到6位后就执行计算,并清空text,以便下次输入)

    2008年11月23日 5:58
  •  

    你可以在KeyDown事件里做,没输入6个就加1,包括退格键。

        Dim count As Integer = 0
        Private Sub TextBox3_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox3.KeyDown
            count = count + 1
            Label1.Text = count \ 6
        End Sub

    2008年11月23日 8:15
    版主
  •  

    编译通过。

     

    谢谢!!!

    2008年11月23日 9:00