有没有一种方法可以单击一个按钮并显示2个不同的响应?

时间:2019-04-09 12:34:52

标签: vb.net

我想猜一个数字游戏,除非数字太大或太小,否则标签可能会出现多个答案。例如:如果猜测为35,并且标签显示为“太高”,则猜测为36,标签显示为“该数字太高了!”

abz =用户应该猜测的数字的整数值 dys =用户输入为猜测值的数字的整数值(显示为文本框)

    If dys < abz Then Label1.Text = ("Too Low!!")
    If Label1.Text = ("Too Low!!") Then Label1.Location = New Point(45, 187)
    If dys < abz Then lablab.Text = ("Guess Higher Then That!!")
    If Label1.Text = ("Guess Higher Then That!!") Then Label1.Location = New Point(34, 187)
    If dys > abz Then Label1.Text = ("Too High!!")
    If Label1.Text = ("Too High!!") Then Label1.Location = New Point(66, 187)
    If dys > abz Then Label1.Text = ("Guess Lower Than That!!")
    If Label1.Text = ("Guess Lower Than That!!") Then Label1.Location = New Point(98, 187)

1 个答案:

答案 0 :(得分:1)

首先,不要用这样的括号括住字符串文字。它将以这种方式工作,但这是没有意义,不必要和非标准的。另外,请勿多次进行相同的检查。使用If语句检查条件后,您可以根据需要执行任意数量的命令。每个If语句不仅限于一个命令。如果您根据插入的文本来移动标签,这似乎也很奇怪。我怀疑,如果您看一下,您会发现标签控件具有一些布局功能,这些功能会导致标签控件根据其内容自动调整大小或居中,因此您不必手动执行此操作。

无论如何,要回答您的问题,您可以使用Else If做您想做的事情:

If dys > abz + 10 Then 
    Label1.Text = "That number is way too high!"
    Label1.Location = New Point(45, 187)
Else If dys > abz Then 
    Label1.Text = "Too High"
    Label1.Location = New Point(66, 187)
End If