C# 数字猜谜游戏windows窗体
我正在用C#做一个数字猜测游戏,代码应该是计算玩家的猜测,然后将数字添加到文本框中 但我真的不知道如何在我的代码中实现它 我只是需要关于代码文本框部分的帮助 猜测应该出现在C# 数字猜谜游戏windows窗体,c#,C#,我正在用C#做一个数字猜测游戏,代码应该是计算玩家的猜测,然后将数字添加到文本框中 但我真的不知道如何在我的代码中实现它 我只是需要关于代码文本框部分的帮助 猜测应该出现在tbxMinaResultat public partial class Form1 : Form { Random rnd = new Random(); int datornsTal; int guesses; int max; public Form1() {
tbxMinaResultat
public partial class Form1 : Form
{
Random rnd = new Random();
int datornsTal;
int guesses;
int max;
public Form1()
{
InitializeComponent();
lbxStörstaTalet.Items.Add(10);
lbxStörstaTalet.Items.Add(20);
}
private void BtnSpelaIgen_Click(object sender, EventArgs e)
{
gbxSpeldata.Enabled = true;
gbxSpelet.Enabled = false;
}
private void LbxStörstaTalet_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void TbxMinaResultat_TextChanged(object sender, EventArgs e)
{
int guesses;
tbxMinaResultat.Text = ToString(guesses);
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void BtnStartaSpelet_Click(object sender, EventArgs e)
{
int max = int.Parse(lbxStörstaTalet.SelectedItem.ToString());
datornsTal = rnd.Next(0, max);
gbxSpeldata.Enabled = false;
gbxSpelet.Enabled = true;
guesses = 0;
}
private void BtnGissa_Click(object sender, EventArgs e)
{
int guess = int.Parse(tbxGissa.Text);
if (guess > datornsTal)
{
lblResultat.Text = "Gissa lägre";
guesses++;
}
else if (guess < datornsTal)
{
lblResultat.Text = "Gissa Högre!";
guesses++;
}
else if (guess == datornsTal)
{
lblResultat.Text = "Bra jobbat!";
guesses++;
}
}
}
公共部分类表单1:表单
{
随机rnd=新随机();
int datornsTal;
智力猜测;
int max;
公共表格1()
{
初始化组件();
lbxStörstaTalet.项目.添加(10);
lbxStörstaTalet.项目.添加(20);
}
私有void BtnSpelaIgen\u单击(对象发送方,事件参数e)
{
gbxSpeldata.Enabled=true;
gbxSpelet.Enabled=false;
}
私有void LbxStörstaTalet_SelectedIndexChanged(对象发送方,事件参数e)
{
}
私有void TbxMinaResultat_TextChanged(对象发送方,事件参数e)
{
智力猜测;
tbxMinaResultat.Text=ToString(猜测);
}
私有void Form1\u加载(对象发送方、事件参数e)
{
}
私有void BtnStartaSpelet_单击(对象发送者,事件参数e)
{
int max=int.Parse(lbxStörstaTalet.SelectedItem.ToString());
datornsTal=rnd.Next(0,最大值);
gbxSpeldata.Enabled=false;
gbxSpelet.Enabled=true;
猜测=0;
}
私有void BtnGissa_单击(对象发送者,事件参数e)
{
int guess=int.Parse(tbxGissa.Text);
如果(猜测>数据总计)
{
lblResultat.Text=“Gissa lägre”;
猜测++;
}
否则,如果(猜测
在BtnGissa\u的末尾,单击
将猜测放到文本框中:
...
//existing code
else if (guess == datornsTal)
{
lblResultat.Text = "Bra jobbat!";
guesses++;
}
//add this line
tbxMinaResultat.Text = guesses.ToString();
}
这里有几个学习点:
是一个int。guesss
是一个字符串。如果不先将int转换为字符串,则无法将int分配给字符串李>tbxMinaResultat.Text
- 有几种方法可以将整数转换为字符串;调用ToString可能是最简单的方法,它可以使用可选的格式化指令李>
- 当您以编程方式更改文本框的Text属性中的字符串时,文本框中显示的值很快就会更改—我说很快,因为事件处理程序代码必须完成,并让处理按钮单击的框架线程返回到其更新UI的常规工作。如果您在设置文本后立即启动了一个需要10秒钟才能完成的操作,则您的应用程序将显示为挂起10秒钟,然后文本框将显示新值。请始终注意这一点,不要将运行事件处理程序代码的线程占用太长时间。保持应用程序响应性的方法超出了您目前学习的范围,但请记住这一点
我强烈建议您从tbxMinaResultat.TextChanged中删除事件处理程序:
- 在表单设计器中,单击tbxMinaResultat文本框
- 单击属性网格中的闪电图标
- 删除TextChanged条目
- 从代码中删除
方法TbxMinaResultat\u TextChanged