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