Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Visual Basic文本框?_Vb.net_Textbox - Fatal编程技术网

Vb.net Visual Basic文本框?

Vb.net Visual Basic文本框?,vb.net,textbox,Vb.net,Textbox,我在网上到处寻找答案,但我自己无法复制这个bug,不知怎么的,文本框看起来是透明的,无法点击;但是,如果您将“Text=”属性设置为包含消息,则文本框工作正常 我已经多次查看了属性和代码,似乎没有任何问题。文本框并没有被要求是透明的,我所看到的任何东西都不会阻止它接受用户输入 这个。。。“断开”代码是: 公共类猜谜游戏 常量最小值为整数=1 常量最大值为整数=50 私有子BTNCECKGUESS\单击(发件人作为System.Object,e作为System.EventArgs)处理BTNCEC

我在网上到处寻找答案,但我自己无法复制这个bug,不知怎么的,文本框看起来是透明的,无法点击;但是,如果您将“Text=”属性设置为包含消息,则文本框工作正常

我已经多次查看了属性和代码,似乎没有任何问题。文本框并没有被要求是透明的,我所看到的任何东西都不会阻止它接受用户输入

这个。。。“断开”代码是:

公共类猜谜游戏
常量最小值为整数=1
常量最大值为整数=50
私有子BTNCECKGUESS\单击(发件人作为System.Object,e作为System.EventArgs)处理BTNCECKGUESS。单击
随机化
静态secretNumber为整数=Int((MAX-MIN+1)*Rnd()+MIN)
静态计数=0
作为整数的模糊猜测
计数=计数+1
guess=Val(Me.txtPlayerGuess.Text)
如果猜测<最小值或猜测>最大值,则“猜测无效”
MessageBox.Show(“猜测超出范围”)
ElseIf guess=秘密号码然后
Me.lblMessage.Text=“你猜对了!”“正确
MessageBox.Show(计数)
其他的
呼叫GiveHint(秘密号码,猜测)
如果结束
端接头
私有子txtPlayerGuess_TextChanged(发送方作为System.Object,e作为System.EventArgs)
'当用户开始键入新值时,清除当前答案
Me.lblMessage.Text=无
端接头
私有子GiveHint(firstNum作为整数,ByVal secondNum作为整数)
如果firstNum>secondNum,则
MessageBox.Show(“太低”)
其他的
MessageBox.Show(“太高”)
如果结束
端接头
末级

任何人都知道是什么原因导致了这种情况,以及如何解决它吗?

设置
Text=Nothing
可能是问题所在。试试
Text=String.Empty
。你确定你说的是文本框吗?唯一出现的地方是:
guess=Val(Me.txtPlayerGuess.Text)
那里没有设置任何东西……不要使用
Val
习惯使用
Convert.ToInt32
TryParse
,你会很高兴你这么做了。你不需要在VB.NET中调用
代码。在可能的情况下,也试着养成使用显式选项的习惯。
Public Class GuessingGame

    Const MIN As Integer = 1
    Const MAX As Integer = 50

    Private Sub btnCheckGuess_Click(sender As System.Object, e As System.EventArgs) Handles btnCheckGuess.Click
        Randomize()
        Static secretNumber As Integer = Int((MAX - MIN + 1) * Rnd() + MIN)
        Static Count = 0
        Dim guess As Integer

        Count = Count + 1
        guess = Val(Me.txtPlayerGuess.Text)
        If guess < MIN Or guess > MAX Then              'invalid guess
            MessageBox.Show("Guess out of range")
        ElseIf guess = secretNumber Then
            Me.lblMessage.Text = "You guessed it!"      'correct
            MessageBox.Show(Count)
        Else
            Call GiveHint(secretNumber, guess)
        End If
    End Sub

    Private Sub txtPlayerGuess_TextChanged(sender As System.Object, e As System.EventArgs)
        'Clear the current answer when the user begins to type a new value
        Me.lblMessage.Text = Nothing
    End Sub

    Private Sub GiveHint(firstNum As Integer, ByVal secondNum As Integer)
        If firstNum > secondNum Then
            MessageBox.Show("Too low.")
        Else
            MessageBox.Show("Too high.")
            End If
        End Sub
    End Class