如何使用按钮和文本框来更改标签?

How can you use a button and a text box to change a label?

我刚刚开始学习如何使用 C Sharp 进行编码。我们有一个 class 项目,我们需要制作一个程序,该程序是一个 1 到 100 之间的随机数的猜谜游戏。我有这个工作(目前用于测试我只做 1-10),但我想超越基本代码并添加一些我自己的代码。我有四个标签,两个用文字来描述它们的用途,另外两个我希望其中的数据发生变化。假设你在 1 到 100 之间猜测,你猜 25 和它的低和你猜的最高数字是低的,我想要显示,如果你猜一个像 70 的数字和它的高我希望显示在标签中。这看起来很容易,但我没有任何运气。作为编码新手,我将 post 我的整个代码,因为我不确定错误在哪里。请注意,由于代码无效,在我弄清楚之前,我只将其设置为低数字。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class frmMain : Form
    {
        Double count = 0;
        int randomNumber;
        Random rand = new Random();





        public frmMain()
        {
            InitializeComponent();
            randomNumber = rand.Next(10) + 1;
            lblLowShow.Text = "0";
            lblHighShow.Text = "100";
        }

        private void btnGuess_Click(object sender, EventArgs e)
        {
            count++;
            int guessedNumber;
            guessedNumber = int.Parse(txtEnterGuess.Text);

            if (guessedNumber > randomNumber)
               {
                MessageBox.Show("To High! Please try again");
               }

            if (guessedNumber < randomNumber)
               {
                    int lowguess;
                    MessageBox.Show("To Low! Please try again");
                    lowguess = Convert.ToInt32(lblLowShow);

                    if (guessedNumber < lowguess) // Changes the number of the highest, low guess that is displayed.
                        {
                            string LowShow;
                            LowShow = lowguess.ToString();
                            lblLowShow.Text = LowShow;
                        }
                }

            else
              {
                  MessageBox.Show("Congratulations! You won in " + count + " tries!");
                  count = 0;
                  randomNumber = rand.Next(10) + 1;
              }


        }

        private void btnExit_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnNewGame_Click(object sender, EventArgs e)
        {

        }
    }
}

Visual studio 没有做任何红点来显示代码中的错误,所以这无助于我找出错误。

您缺少一个简单的 else 语句,前提是猜测的数字是否小于所需的数字。这就是计算机直接进入下一个 if 语句并打印用户赢得游戏的消息的原因。

就是这个:

         else//
        if (guessedNumber < randomNumber)
           {
                int lowguess;
                MessageBox.Show("To Low! Please try again");
                lowguess = Convert.ToInt32(lblLowShow);

                if (guessedNumber < lowguess) // Changes the number of the highest, low guess that is displayed.
                    {
                        string LowShow;
                        LowShow = lowguess.ToString();
                        lblLowShow.Text = LowShow;
                    }
            }