正在尝试在方法之外使用StopWatch

本文关键字:StopWatch 方法 | 更新日期: 2023-09-27 18:29:59

我正在尝试创建一个秒表表格。我希望能够像普通秒表一样按下一个按钮来获得圈速。由于我不理解的原因,我不能定义Stopwatch变量并在另一个方法中调用它的构造函数。我该如何制作一个StopWatch变量,以便在其他方法中使用它?如果我不应该使用StopWatch,我该怎么办?

namespace _Hard0002_StopWatch {
    public partial class StopWatch : Form {
        StateEnum state;
        StopWatch stopWatch;
        public StopWatch() {
            InitializeComponent();
            state = StateEnum.Stoped;
        }
        private void StartButton_Click(object sender, EventArgs e) {
            if (state == StateEnum.Stoped) {
                stopWatch = Stopwatch.StartNew();
                state = StateEnum.Started;
                ChangeFormTittle("Started");
                TimeKeeperText.Text = "0.0";
            }
        }
    private void LapButton_Click(object sender, EventArgs e) {
        //save time elapsed to a string array
        stopWatch.getElapsedTime()//I know this isn't how you call it I just worded it to be readable.
    }

这是我尝试在StartButton_Click() 中声明stopWatch时遇到的错误

Cannot implicitly convert type 'System.Diagnostics.Stopwatch' to '_Hard0002_StopWatch.StopWatch'

正在尝试在方法之外使用StopWatch

C#的秒表是Stopwatch。你的课是StopWatch。您声明您的变量:

StopWatch stopWatch;

然后初始化它:

stopWatch = Stopwatch.StartNew();

使用两个不同的对象。最好将您的表单重命名为类似StopwatchForm的内容,以防止您自己更加困惑。