c#用时间做随机数比大小,无法运行如何解决?

c#用时间做随机数比大小,无法运行
caishu是用户输入的数,用来与随机数作比较,a是string型,我把它转换成int型为了作比较
第二个click事件我想用来显示秒,没有错误,但是运行不了

img

到底是 Button2_Click 还是 Button2_Click_1 在执行?
你在窗体设计器里选择下Button2,在属性窗格里找到闪电图标,然后看 Click 关联的是哪个

你绑定 click_1 事件了吗?

在所有函数前面加一句
private int caishu;
函数里面caishu前面的int删掉不要

根据您提供的代码截图,我发现您的代码存在以下几个问题:

  1. 在比较随机数和用户输入的数时,应该使用整型比较而不是字符串比较。您可以将用户输入的字符串转换成整型,然后再和随机数比较。

  2. 在第二个click事件中,您没有使用Timer类的Start方法来启动计时器,导致计时器无法开始计时。您可以在事件处理程序中添加以下代码:

    timer1.Start();
    
  3. 在第二个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(); // 显示当前时间的秒数
        }
    }
}

希望对您有所帮助!