c#用时间做随机数比大小,无法运行
caishu是用户输入的数,用来与随机数作比较,a是string型,我把它转换成int型为了作比较
第二个click事件我想用来显示秒,没有错误,但是运行不了
到底是 Button2_Click 还是 Button2_Click_1 在执行?
你在窗体设计器里选择下Button2,在属性窗格里找到闪电图标,然后看 Click 关联的是哪个
你绑定 click_1 事件了吗?
在所有函数前面加一句
private int caishu;
函数里面caishu前面的int删掉不要
根据您提供的代码截图,我发现您的代码存在以下几个问题:
在比较随机数和用户输入的数时,应该使用整型比较而不是字符串比较。您可以将用户输入的字符串转换成整型,然后再和随机数比较。
在第二个click事件中,您没有使用Timer类的Start方法来启动计时器,导致计时器无法开始计时。您可以在事件处理程序中添加以下代码:
timer1.Start();
在第二个click事件的计时器事件处理程序中,您应该使用DateTime.Now.Second来获取当前时间的秒数,而不是使用DateTime.Now.Ticks。因为Ticks表示从公元1年1月1日午夜开始的以100纳秒为单位的时间间隔,而不是秒数。
根据您的需求,我编写了以下代码作为参考:
using System;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
int randomNum;
public Form1()
{
InitializeComponent();
Random random = new Random();
randomNum = random.Next(1, 101); // 生成1到100之间的随机数
}
private void button1_Click(object sender, EventArgs e)
{
int inputNum = int.Parse(textBox1.Text); // 将用户输入的字符串转换成整型
if (inputNum == randomNum)
{
MessageBox.Show("恭喜你,猜对了!");
}
else if (inputNum < randomNum)
{
MessageBox.Show("你猜的数太小了!");
}
else
{
MessageBox.Show("你猜的数太大了!");
}
}
private void button2_Click(object sender, EventArgs e)
{
timer1.Start(); // 启动计时器
}
private void timer1_Tick(object sender, EventArgs e)
{
label1.Text = DateTime.Now.Second.ToString(); // 显示当前时间的秒数
}
}
}
希望对您有所帮助!