c# - 在 c# 中使用 WinForm App 进行操作的时间延迟

标签 c# winforms delay timedelay

<分区>

我在 C# 中遇到 Windows 窗体应用程序问题 在这个应用程序中有一个选项卡式浏览器。现在我希望在一个循环中(我在其中执行一些操作来计算下一个 url)我可以在 AddTab 之间添加延迟。

 foreach(Urls url in Links){

        // Do something with url
         if(url.Host == "google"){ //if host is google until start the 
                                   // next AddTab i would wait 5 SEC
             addTab(url);
           //Here i Tried to use Sleep Thread , While(TimeCur-TimePre) {} but i always 
           // get Freezing and the other Tabs dont continue the loading
             Wait 5 Seconds in somehow
         }
}

正如我所写,我不想使用 Thread Sleep,因为它会卡住我的表单应用程序。我已经使用了 TimeCur-TimeSaved+(x Second) 的时间技巧,但这也会卡住表格。

我看到很多主题都说要使用定时器,所以我尝试使用它们(没有任何结果,也许我错了什么)

我可以在此循环中添加什么来延迟 AddTab 之间的打开而不卡住任何内容?

最佳答案

使用 Windows 窗体计时器(来自工具箱)。在属性中,设置间隔设置。然后在窗体设计器上双击它。这将创建一个事件处理程序,当间隔时间过去时,它将被触发(在一个单独的线程中)。您可以在此处完成您的工作,表单将保持事件状态。

关于c# - 在 c# 中使用 WinForm App 进行操作的时间延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8235639/

相关文章:

c# - .Net Compact Framework 上的 DateTimePicker - 是否可以使用弹出键盘编辑年份?

c# - 锁定非线程安全的对象,这是可以接受的做法吗?

javascript - 如何用延迟停止循环计时器 jQuery

.net - 键入时自动滚动 DataGridView

swift - 为什么调用 audioplayer.play(atTime : delay) makes no sound regardless of the value of delay

java - 如何使用定时器延迟java中的返回语句

c# - 在 C# 中声明 const 的更优雅的方法是什么

c# - 逐字节比较文件还是读取所有字节?

c# - 在 ListView 控件中获取鼠标光标下的项目?

c# - 如何限制表单的水平移动?