如何在c#中实现自动选中和未选中的单选按钮和定时器

本文关键字:定时器 单选按钮 实现 | 更新日期: 2023-09-27 18:17:22

我需要用c#写一个Windows应用程序,但我不知道如何做一些事情。我对c#编程很陌生。

我的app应该怎么做

  • 第一步:我需要从我的单选按钮或其他彩色图标,这些图标应该随机亮起来,我必须用相应的按钮关闭这个(例如红色单选按钮=红色按钮)。
  • 第二步:有一个计时器,它开始计数我的反射从点亮按钮到关闭此按钮。

我做了什么?

  • 实现单选按钮、按钮和两个标签

  • 负责每个组件点击空方法

我用的是哪个程序

  • Visual Studio 2008 Express

我不知道怎么做

  • 如何实现定时器和设置计数来检查我的反射

  • 如何设置单选按钮自动按随机顺序选中并与其他按钮一起关闭

  • 如何在标签显示我的定时器

源代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Ling;
using System.Text;
using System.Windows.Forms;
namespace App{
public partial class Form1 : Form{ 
public Form1(){
InitializeComponent();
}
private void label1Click(object sender, EventArgs e){
}
private void radioButton1_CheckedChanged(object sender, EventArgs e){
}
private void radioButton2_CheckedChanged(object sender, EventArgs e){
}
private void radioButton3_CheckedChanged(object sender, EventArgs e){
}
private void GreenButton_Click(object sender, EventArgs e){
GreenButton.Backcolor = Color.gray;
}
private void RedButton_Click(object sender, EventArgs e){
RedButton.Backcolor = Color.gray;
}
private void BlueButton_Click(object sender, EventArgs e){
BlueButton.Backcolor = Color.gray;
}
private void label2Click(object sender, EventArgs e){
}
我将非常感谢每一种帮助<3

如何在c#中实现自动选中和未选中的单选按钮和定时器

你应该用System.Diagnostics.Stopwatch代替System.Windows.Forms.Timer来测量反射时间。

在类级别创建一个秒表:

private Stopwatch stopwatch = new Stopwatch();

点亮单选按钮后,秒表开始计时:

stopwatch.Start();

当用户点击正确的按钮时,停止秒表并获得经过的时间:

stopwatch.Stop();
var elapsedTime = stopwatch.ElapsedMilliseconds;

同时,你应该取消选中这里的所有单选按钮:

radioButton1.Checked = false;
radioButton2.Checked = false;
radioButton3.Checked = false;

然后你可以像这样把这个变量显示给用户:

<insert your label's name here>.Text = "Your time: " + elapsedTime;
我已经回答了你的第一个和第三个困难。对于第二个,这里有一个简单的方法。

首先我们需要决定何时点亮单选按钮。在用户点击开始按钮后,它可以在一段时间后被点亮。要创建此延迟,请使用System.Windows.Forms.Timer。你可以到这里学习如何使用它。

现在在类级别创建Random对象。这用于随机点亮单选按钮

private Random random = new Random();

Timer.Tick事件处理程序中,首先停止计时器,因为我们只希望它触发一次。然后你可以先生成一个0到2之间的随机数:

var randomNumber = random.Next(0, 3);

然后根据随机数,我们点亮单选按钮:

if (randomNumber == 0) {
    radioButton1.Checked = true;
} else if (randomNumber == 1) {
    radioButton2.Checked = true;
} else {
    radioButton3.Checked = true;
}
// this is where you want to start the stopwatch!
stopwatch.Start();
  1. 记录灯打开的时间,记录你打开的时间点击它,使用DateTime.Now。把这些和乘以
  2. 我理解你的问题是"我怎么得到随机数?"。在那里网上有很多关于这个问题的答案。这里有一个:如何在c#中生成一个随机的int数?另外,看看计时器。Tick事件。
  3. 使用标签的text属性显示经过的时间(参见#1)。Convert.ToString()可能会派上用场。