![](/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.