如何使用按钮和文本框来更改标签?
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;
}
}
我刚刚开始学习如何使用 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;
}
}