首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户等待一段时间

用户等待一段时间
EN

Stack Overflow用户
提问于 2013-02-23 12:44:25
回答 3查看 253关注 0票数 0

我需要解决一个问题,并需要一些投入。当我按button1时,我的gui会启动串行通信。我发送一些命令并接收一些数据。一旦我按下button1,我就会在另一个线程( GUI线程除外)中停留3-4秒,直到数据被完全传输。我想要的是一个对话框,弹出或类似的东西(显示一条繁忙的消息),当我按下button1时,这个弹出会自动地出现在另一个线程中,在这个线程中,当整个数据被传输时,就会发生串行通信。

有些人建议BackgroundWorker,但我不清楚。

我还得到了一个建议:“使用winform,将其FormBorderStyle设置为FixedDialog。将其设置为messagebox,并在其上放置一个进度条控件。您可以在线程处理开始时使用表单ShowDIalog,在结束时关闭。为了简单起见,进度条样式可以设置为连续。”

--考虑到我的场景--有什么好的解释或一种简单的替代方法吗?我想保持简单

EN

回答 3

Stack Overflow用户

发布于 2013-02-23 12:50:15

您可以使用表单上的Label设置简单消息,也可以在执行了几个命令之后使用进度条和更新进度栏来设置简单消息。如果您的一组命令是由用户指令启动的,那么就可以了。如果您必须与设备通信并响应设备警报,则DataReceivedEvent在C#中可以正常工作。你可以把你的代码写成。当设备向应用程序发送日期并在后台工作时,此事件将被触发。

票数 0
EN

Stack Overflow用户

发布于 2013-02-23 13:00:55

以下是逻辑:

  • 当用户单击button1时,显示弹出框中的内容。
  • 同时,数据传输代码也应该在同一个线程中。
  • 然后编写代码,以获取所有数据将被传输的点&@该点将使该对话框消失。

如果您想要任何示例代码,那么请张贴您的书面代码,以便我可以给出一个实际的接近代码,以显示您的逻辑。

希望您理解或更好地发布您的代码。

票数 0
EN

Stack Overflow用户

发布于 2013-02-23 13:02:01

BackgroundWorker确实是最好的选择。有一个非常彻底的HowTo right 这里

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

https://stackoverflow.com/questions/15040663

复制
相关文章

相似问题

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