![](/img/trans.png)
[英]How to use Threading.Timer for a loop on a public non-static method on ASP.NET C#?
[英]How to create an infinite loop in C# using Threading.Timer in WPF
我现在正在学习 C#,为此我决定在 Visual Studio 上使用 WPF 制作一个点击游戏。 我正在尝试添加一个按钮,一旦单击,该按钮会每秒自动为您提供硬币。 我尝试了多种方法让无限循环工作,这通常会导致程序甚至拒绝启动。
我最接近有效的东西是这段代码。
public void Timer_Start()
{
Timer timer = new Timer(Tick, null, 100, 1000);
}
public MainWindow()
{
InitializeComponent();
Timer_Start();
}
public void Tick(object stateInfo)
{
coins += cps;
//MessageBox.Show("Running");
this.Dispatcher.Invoke(() =>
{
Score_Update();
});
}
但是,当我运行此代码时,它仅在停止前大约 1 或 2 秒有效。 它运行的次数在 1 到 10 之间变化。
juste 用这个替换你的“timer_start”方法和你的构造函数:
private Timer timer;
public MainWindow()
{
InitializeComponent();
this.timer = new Timer(Tick, null, 100, 1000);
}
这样,您的计时器实例不会被 .net 清理。 请记住在窗口关闭或应用程序退出时停止/处理它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.