【发布时间】:2011-02-16 20:09:21
【问题描述】:
我有一个网格,当双击一行时会加载一个表单。但是必须加载大量数据,所以我想显示一个带有文本“加载中,请稍候..”的简单表单。当所有加载完成后,表单必须消失。
这是我现在拥有的,但它不起作用:
调用包含大量数据的表单的代码:
FormWithLotData form = new FormWithLotData();
form.ShowDialog(this);
FormWithLotData 的构造函数:
// Show load form
FormIsLoading frm = new FormIsLoading();
_CloseLoadForm closeForm = new _CloseLoadForm(frm.Close);
System.Threading.Thread thread = new System.Threading.Thread(frm.Show);
thread.Start();
InitializeComponent();
this.Visible = false;
LoadAllData();
this.Visible = true;
// Close load form
Invoke(closeForm);
希望你能帮帮我。
编辑: 我想在加载表单上显示一个动画 gif。
解决方案: 我创建了一个后台工作者。 DoWork 事件处理所有加载,并通过使用 invoke() 方法将节点添加到树视图。现在,GUI 没有挂起,用户也不知道应用程序正在挂起。
【问题讨论】: