如何添加实际等待?

发布于 2024-11-19 17:07:49 字数 241 浏览 1 评论 0原文

我目前正在尝试编写非常简单的代码。

它应该做什么:

  1. 输入 google
  2. 等待 5 秒
  3. 搜索一些内容。

现在,我不能做的就是等待。 有线程睡眠等,但它们停止 GUI 并使我的程序无法使用。 我也可以用计时器来做到这一点,但这不是非常有效的方法,因为在实际的应用程序中会有很多等待...... 无论如何,是否有类似的 2-3 行代码,并且不停止 GUI 的情况?

Im currently trying to code very simple thing.

what it supposed to do:

  1. enter google
  2. wait 5 seconds
  3. search something.

now, the part I cant do is wait.
There is thread sleep etc. but they stop GUI and makes my program unusable.
I can also do it with timers but it isnt very effective way to do it, since in actual app there will be many waits...
Are there anyway to do with it like 2-3 lines of code only, and without stopping GUI?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

意犹 2024-11-26 17:07:49

计时器正是您想要的 - 您想说,“5 秒内,执行 X”(可能在 UI 线程中执行),这正是计时器为您所做的事情。如果您想将其封装在一个可以传入 ActionTimeSpan 或其他内容的方法中,那很好 - 但计时器绝对是最佳选择。

(您要使用的计时器类型取决于您希望计时器触发的线程等)

A timer is exactly what you want here - you want to say, "In 5 seconds, do X" (potentially executing in the UI thread) which is exactly what a timer does for you. If you want to encapsulate that in a single method which you can pass in an Action and a TimeSpan or whatever, that's fine - but a timer is definitely the way to go.

(The type of timer you want to use will depend on what thread you want the timer to fire on, etc.)

萌酱 2024-11-26 17:07:49

您需要在单独的线程上完成这项工作,这样就不会停止 GUI 线程。

    Thread worker = new Thread(dowork);
    worker.Start();

You need to do the work on a seprate thread so it dosent halt the GUI thread.

    Thread worker = new Thread(dowork);
    worker.Start();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文