目前我正在学习C#,为此,我决定在Visual上使用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不等。
发布于 2022-06-09 09:05:26
只需将"timer_start“方法和构造函数替换为:
private Timer timer;
public MainWindow()
{
InitializeComponent();
this.timer = new Timer(Tick, null, 100, 1000);
}
这样,您的计时器实例就不会被.net清理。记得在窗口关闭或应用程序退出时停止/处理它。
https://stackoverflow.com/questions/72553988
复制相似问题