C# 点击按钮后的秒表和重置时间
我目前正在学习如何使用C#中的秒表属性。我有一个启动秒表的C# 点击按钮后的秒表和重置时间,c#,winforms,C#,Winforms,我目前正在学习如何使用C#中的秒表属性。我有一个启动秒表的按钮1。我想将时间重置为0,然后在第二次单击后重新开始,依此类推。如何在每次连续单击按钮后重置秒表计时器 代码 namespace stopwatch { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Stopwatc
按钮1
。我想将时间重置为0,然后在第二次单击后重新开始,依此类推。如何在每次连续单击按钮后重置秒表计时器
代码
namespace stopwatch
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
Stopwatch sw = new Stopwatch();
private void button1_Click(object sender, EventArgs e)
{
sw.Start();
TimeSpan x = sw.Elapsed;
textBox1.Text = x.ToString();
}
}
}
使用
请尝试以下代码片段:
private void button1_Click(object sender, EventArgs e)
{
sw = Stopwatch.StartNew();
// ... do something ...
sw.Stop();
textBox1.Text = sw.Elapsed.ToString();
}
您是否希望
x
大于0?除此之外,Stopwatch
还有一种方法可以满足您的需求。您在第二次单击时是否尝试过任何操作?这将始终不会返回经过的时间。。。不是上次单击后经过的时间显示值后您肯定希望重新启动吗?当然是的,这很明显:)我刚刚更新了我的答案,我没有使用StartNew()
由于创建了秒表的新insatnce-1,因此成本更高,考虑到以下要求,我认为这似乎不正确我想将时间重置为0,然后在第二次单击后重新开始,依此类推。
。点击按钮后,被截取的代码将使秒表处于停止状态,他需要重置为0并重新启动。顺便问一下,为什么每次都需要一个新的秒表实例?我同意这个观点:。基本上,我认为你的答案是不正确的,所以你必须提供一些论据或纠正它,否则将不会是这样一个有帮助的社区。不是针对个人,我也有很多不正确的甚至是令人困惑的答案被否决,我会删除我的否决票,请花更多的时间检查你的答案是否正确,还有一种情况是,问题混淆要求是-我想将时间重置为0,并在第二次单击后重新开始,依此类推,但在您的情况下,秒表将在按钮单击后停止,因为sw.Stop()
,现在清楚了吗?因此,我如何在每次连续单击按钮后重置秒表计时器
-因此他需要重置秒表,而不是停止它,因此在每次单击按钮后,SW只需从0Ok开始计数,并在按钮点击处理程序的末尾放置SW.Stop()
,从而使SW处于停止状态!如果StartNew是一种如此昂贵的方法,那么为什么它会出现在库中呢。这仅仅是因为微软的开发人员没有能力把它放在那里。最后,这是一个无用的论证。
Stopwatch sw = new Stopwatch();
private void button1_Click(object sender, EventArgs e)
{
sw.Stop();
TimeSpan x = sw.Elapsed;
textBox1.Text = x.ToString();
// >= .NET 4
sw.Restart();
// >=.NET 2.0
sw.Reset();
sw.Start();
}
private void button1_Click(object sender, EventArgs e)
{
sw.Stop();
TimeSpan x = sw.Elapsed;
textBox1.Text = x.ToString();
sw.Restart();
}