在Windows窗体应用程序中,如何在C#中跟踪两次单击按钮之间的时间?

在Windows窗体应用程序中,如何在C#中跟踪两次单击按钮之间的时间?,c#,windows,winforms,C#,Windows,Winforms,我已经用c#创建了一个windows窗体应用程序,其中接受了用户的输入。我想计算用户在两次提交之间花费的时间。我该怎么做?使用。在类级别创建秒表对象,并使用该对象计算时间 比如: public partial class Form1 : Form { Stopwatch stopwatch = new Stopwatch(); public Form1() { InitializeComponent();

我已经用c#创建了一个windows窗体应用程序,其中接受了用户的输入。我想计算用户在两次提交之间花费的时间。我该怎么做?

使用。在类级别创建秒表对象,并使用该对象计算时间

比如:

 public partial class Form1 : Form
    {
        Stopwatch stopwatch = new Stopwatch();

        public Form1()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            stopwatch.Start();

        }
        private void button2_Click(object sender, EventArgs e)
        {

            stopwatch.Stop();
            var milliSeocnds = stopwatch.ElapsedMilliseconds;
            var timeSpan = stopwatch.Elapsed;
        }
    }

您可以使用两个全局DateTime变量,并在“单击两次”按钮中区分为变量

   private DateTime btn1Click ;
   private DateTime btn2click;


        private void btn1_Click(object sender, EventArgs e)
        {
            btn1Click = DateTime.Now;
        }

        private void btn2_Click(object sender, EventArgs e)
        {
            btn2click = DateTime.Now;
        }
并将此代码用于差异时间:

 TimeSpan timespan = btn2click - btn1Click;

在同一按钮中:

  private DateTime btnClick1 ;
        private DateTime btnClick2;

  private void btn_Click(object sender, EventArgs e)
        {
            if (btnClick1==null)
            {
                btnClick1 = DateTime.Now;
            }
            else
            {
                btnClick2 = DateTime.Now;
            }
        }

使用System.Threading可以使用秒表功能。只需在第一次单击时启动该功能,然后在第二次单击时停止

Using System.Threading

//main etc ignored

//declare

Stopwatch s = new Stopwatch();

//start
s.start();
//stop
s.stop()
//get the time
s.Elapsed;

按钮的形式是否相同?我想计算相同形式的相同按钮的两次单击之间的持续时间(如果按钮可以按任意顺序按下,则还有一些额外的逻辑)@Davy8,哦,是的,我的代码只是显示秒表的使用情况