在我的代码执行中添加延迟的正确方法

2023-12-21

我正在尝试制作一个非常简单的逻辑游戏。这个想法是看到一个带有一定数量的彩色方块(按钮)的矩阵,然后隐藏它们,玩家必须单击彩色方块。所以我需要在绘制方块/按钮和返回原始颜色之间有 2 秒的延迟。所有代码都在一个中实现button_click event.

private void button10_Click(object sender, EventArgs e)
{

    int[,] tempMatrix = new int[3, 3];
    tempMatrix = MakeMatrix();
    tempMatrix = SetDifferentValues(tempMatrix);
    SetButtonColor(tempMatrix, 8);
    if (true)
    {
        Thread.Sleep(1000);
       // ReturnButtonsDefaultColor();
    }
    ReturnButtonsDefaultColor();
    Thread.Sleep(2000);

    tempMatrix = ResetTempMatrix(tempMatrix);
}

这是整个代码,但我需要的是在调用之间有一些延迟SetButtonColor() and ReturnButtonsDefaultColor()。我所有的实验Thread.Sleep()到目前为止还没有成功。我有时会遇到延迟,但彩色方块/按钮从未显示。


您看不到按钮改变颜色,因为Sleepcall 会阻止消息被处理。

处理这个问题最简单的方法可能是使用计时器。使用 2 秒延迟初始化计时器,并确保默认情况下禁用它。然后,您的按钮单击代码将启用计时器。像这样:

private void button10_Click(object sender, EventArgs e)
{
    // do stuff here
    SetButtonColor(...);
    timer1.Enabled = true; // enables the timer. The Elapsed event will occur in 2 seconds
}

以及计时器的 Elapsed 事件处理程序:

private void timer1_TIck(object sender, EventArgs e)
{
    timer1.Enabled = false;
    ResetButtonsDefaultColor();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在我的代码执行中添加延迟的正确方法 的相关文章

  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 如何在c++中读取pcap文件来获取数据包信息?

    我想用 C 编写一个程序来读取 pcap 文件并获取数据包的信息 例如 len sourc ip flags 等 现在我找到了如下代码 我认为它会帮助我获取信息 但是我有一些疑问 首先我想知道应该将哪个库添加到我的程序中 然后什么是 pca
  • 如何将非静态类成员“std::bind”绑定到 Win32 回调函数“WNDPROC”?

    我正在尝试将非静态类成员绑定到标准WNDPROC http msdn microsoft com en us library ms633573 aspx功能 我知道我可以通过将类成员设为静态来简单地做到这一点 但是 作为一名 C 11 ST
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 如何区分用户点击链接和页面自动重定向?

    拥有 C WebBrowser control http msdn microsoft com en us library system windows forms webbrowser aspx在我的 WinForms 应用程序中 并意识
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • 不同类型指针之间的减法[重复]

    这个问题在这里已经有答案了 我试图找到两个变量之间的内存距离 具体来说 我需要找到 char 数组和 int 之间的距离 char data 5 int a 0 printf p n p n data 5 a long int distan
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看

随机推荐

  • 如何使用 Android SDK Manager 安装 NDK

    据说可以用Android SDK manager来安装NDK 如下图 不幸的是 我没有SDK Plantforms SDK Tools and SDK Update Sites我的 SDK 管理器中的选项卡 我的图片如下 那么我的情况如何安
  • 在设备树中注册 snd-soc-dummy

    我正在尝试在我的设备树源文件中注册 soc utils 中提供的 ALSA 虚拟编解码器 以将其与 i2s 设备驱动程序 sun8i i2s 一起使用 我尝试在 i2s 配置中设置 sound dai 字段 如下所述 https patch
  • PHP有peek数组操作吗?

    我想查看数组的第一个元素 此操作等效于以下代码 function peek list item array shift list array unshift list item return item 这段代码对我来说似乎真的很重 并且 p
  • 当我绘图时如何消除线条之间的这些“点”?

    is there an easy way to not draw this points in my lines I don t know why this points are there because i never release
  • 如何永久运行 Ionic 服务?

    我正在为一个应用程序使用 Ionic 框架 代码位于Linux服务器上 我正在使用运行应用程序ionic serve通过腻子命令 但是 问题是如果我关闭腻子 应用程序就会停止 有没有办法让离子服务作为守护进程永久运行 我怀疑您尝试这样做是因
  • IIS发布后如何修复CSS中的图像路径?

    我是 MVC V4 新手 在将网站发布到 IIS 后遇到问题 通过 Web 浏览器 和页面检查器 在 IIS Express 中查看时 我的网站运行良好 然而 当我将我的网站 通过 VS2012 发布到 IIS 时 我的 CSS 引用的所有
  • 无法显示png

    我正在虚拟机 Red Hat Enterprise Linux Server 版本 6 4 上运行 R shiny R 版本 3 0 1 2013 05 16 一切正常 即服务器启动 应用程序运行等 只要我不尝试绘制图表 renderPlo
  • 如何在 C++ 中使用复数“i”

    我现在正在编写一个简单的 DFT 算法 我想在复指数中使用复数 i 我看到有人用 include
  • 自定义 UIView 类 - Swift

    我已经构建了一个从底部出现并在一段时间后隐藏的视图 它运行良好 但我想将其放入UIView类作为模态 我浏览了互联网 但我无法理解或理解如何做到这一点 snake UIView frame CGRect x 0 y self view fr
  • driver.Context.synchronize()- 还有什么要考虑的 -- - 清理操作失败

    I have this https stackoverflow com questions 12159709 cuda out of memory threads and blocks issue address is out of bou
  • 在字符串中使用 switch

    尝试通过首先将字符串转换为字符然后应用开关来在字符串中使用开关 但仍然没有完成 这是我的代码 import java io BufferedReader import java io IOException import java io I
  • 如何从需要 return 语句的 GraphQL 解析器中调用异步 node.js 函数?

    上提供的 Hello World 示例graphql org graphql js http graphql org graphql js创建一个简单的 GraphQL 实现如下 var graphql buildSchema requir
  • JavaScript Async=true 属性

    我在某个未命名供应商的文档中看到了此代码示例 它似乎异步加载脚本 然后从中调用函数 我意识到 if undefined 检查将防止出现明显的错误 但这不是完全错误的吗 我相信在 IE8 9 中它会正常工作 但会阻止执行 直到 LOADER
  • 如何使用 Provider 将 ChangeNotifier 的范围限定到某些路由?

    我有一个 ChangeNotifier 我想在多个路由之间共享它 但不all routes Page1 是我的第一页 我只需要与 Page2 Page3 和 Page 共享 ChangeNotifierProvider 的数据 并在进入 P
  • 计算罗盘的航向到特定坐标而不是向北

    我无法正确理解这个算法 我正在尝试制作一个指向某个位置的指南针 而不仅仅是指向北方 有问题 我花了很多时间试图弄清楚这一点 但我就是找不到它 有任何想法吗 void locationManager CLLocationManager man
  • 使用 json4s 在 Scala 应用程序中生成 json

    我正在尝试使用 json4s 在 Scala 应用程序中生成 JSON 相当简单 下面是我在 Scalatra 应用程序中整理的一些示例值 import org json4s import org json4s JsonDSL object
  • “不支持的主次版本 52.0”是什么意思,如何解决? [复制]

    这个问题在这里已经有答案了 好的 所以我粗略地理解 52 0 是 Java 8 异常意味着某些代码是用一个版本的 java 编译的 而另一些代码是用另一个版本编译的 我无法理解的是它是哪条路 这是我得到的堆栈跟踪 Exception in
  • 如何在 Linux 中签署 Mac OS X 应用程序?

    对于 OS X 我在 DMG 内分发 Java 应用程序 自 Mountain Lion 发布以来 打开应用程序会出现以下错误消息 应用程序名称 已损坏且无法打开 您应该弹出 磁盘映像 显然解决方法是签署 app 文件 https blog
  • 使用来自外部文件的数据进行 xUnit 测试

    这些天我试图了解 xUnit 测试的工作原理 特别是 我发现有 3 种方法将数据作为参数传递以测试类方法 InlineData ClassData 和 MemberData 但这是我的问题 是否有机会从外部文件获取这些数据 例如 Json
  • 在我的代码执行中添加延迟的正确方法

    我正在尝试制作一个非常简单的逻辑游戏 这个想法是看到一个带有一定数量的彩色方块 按钮 的矩阵 然后隐藏它们 玩家必须单击彩色方块 所以我需要在绘制方块 按钮和返回原始颜色之间有 2 秒的延迟 所有代码都在一个中实现button click