首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在C#中使用Threading.Timer在WPF中创建无限循环

如何在C#中使用Threading.Timer在WPF中创建无限循环
EN

Stack Overflow用户
提问于 2022-06-09 02:08:25
回答 1查看 72关注 0票数 0

目前我正在学习C#,为此,我决定在Visual上使用WPF制作一个点击游戏。我试图添加一个按钮,自动给你的硬币每秒一次点击。我尝试过多种方法让无限循环工作,这通常导致程序甚至拒绝启动。

我最近得到的有用的东西是这段代码。

代码语言:javascript
运行
复制
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不等。

EN

Stack Overflow用户

发布于 2022-06-09 09:05:26

只需将"timer_start“方法和构造函数替换为:

代码语言:javascript
运行
复制
        private Timer timer;

    public MainWindow()
    {
        InitializeComponent();

        this.timer = new Timer(Tick, null, 100, 1000);
    }

这样,您的计时器实例就不会被.net清理。记得在窗口关闭或应用程序退出时停止/处理它。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72553988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档