如何在WinForms/C#中不断检查某些内容

本文关键字:检查 WinForms | 更新日期: 2023-09-27 18:26:44

有没有一种方法可以让我的程序在执行其他任务时不断检查某些内容?

我制作了一个非常简单的益智游戏(用户应该对齐一些东西),我希望程序不断检查用户是否完成了游戏。

为了澄清,我不是在寻找一个像这样的循环解决方案

while(!done){//do stuff}

我正在寻找一些可能内置的东西,如果这有意义的话,比如函数。

如何在WinForms/C#中不断检查某些内容

使用接口/回调,或者您可以创建一个方法来检查游戏的完成情况,并将其传递给线程进行检查。

示例:

private Thread checkThread;
private void StartThreadMethod() 
{
        checkThread = new Thread(new ThreadStart(CheckGameComplete));
        checkThread.Start(); 
}
public void CheckGameComplete() 
{
          // Do the checking here
          // call checkThread.Stop() once checking is done.
}

请注意,由于这是在另一个线程上,而不是在ui线程上,如果结束游戏的标准取决于ui,则在不委派ui的情况下不可能使用它。