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