当前位置:  开发笔记 > 编程语言 > 正文

.NET Windows窗体刷新控件

如何解决《.NETWindows窗体刷新控件》经验,为你挑选了1个好方法。

我有一个简单的程序,当按下按钮时循环结果集并对该结果集执行操作(存储在a中DataTable).在循环中,我更新了a RichTextBox,2个标签和a 的文本ToolStripStatusLabel.这些在循环期间没有刷新,所以在循环中处理每个项目之后我做了this.Refresh().这是有效的,除非我点击程序中的任何内容,此时它表示它没有响应,并且在foreach循环完成之前,表单中没有任何内容刷新.

private void myBtn_Click(object sender, EventArgs e)
{
    // Query database and store results in DataTable dt.

    foreach (DataRow dr in dt.Rows)
    {
       // Process row data.
       // Update RichTextBox, labels, and ToolStripStatusLabel.
       this.Refresh();
    }
}

这里有问题吗?有一个更好的方法吗?这是一个使用C#的Windows窗体应用程序.



1> Jon B..:

它说"没有响应",因为你正在占用GUI线程.如果要执行冗长的操作,请考虑使用后台线程.

查看BackgroundWorker即可开始使用.

这是一个线程教程,以防万一.

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有