c# - 如何让我的应用程序等待特定的时间?

标签 c# winforms

我想向列表框中添加一些项目,但问题是,我希望应用程序在添加每个项目后等待 500 毫秒,然后添加下一个项目;所以我使用了下面的代码:

    reduction_list.Items.Add("ID");
    System.Threading.Thread.Sleep(500);

    reduction_list.Items.Add("Name");
    System.Threading.Thread.Sleep(500);

    reduction_list.Items.Add("City");
    System.Threading.Thread.Sleep(500);

    reduction_list.Items.Add("Major");

但应用程序等待 1500 毫秒并将全部 4 个项目加在一起。

最佳答案

那是因为你添加后没有更新接口(interface),所以每次调用后添加这个即可:

reduction_list.Invalidate();
reduction_list.Update(); 

这里的问题是您没有给界面时间来更新自己,因为您是在 UI 线程上执行代码。所以添加 Invalidate()Refresh()每次添加后都会导致应用程序刷新 reduction_list View 。

关于c# - 如何让我的应用程序等待特定的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7215260/

相关文章:

c# - 为什么在 oauth2 中缓存访问 token 被认为是不好的?

c# - GDI+/C# : How to save an image as EMF?

c# - 如果表单未激活,如何调用?

c# - 属性类可以在不使用实例化的情况下被其他类访问吗?

c# - 在C#中将日期值插入sql数据库

c# - userAccountControl 属性在 AD 中如何工作? (C#)

c# - 进度条行为异常

c# - SetParent Hook ,如何解钩?

c# - 为什么自定义 WinForms 控件在绘制时不遵守构造函数中设置的属性?

c# - 如何访问 Form.cs 类之外的文本按钮(我的意思是在 Program.cs 中)