使用DevExpress 2012 vol 2.10 C#在VS 2010之上
第一个问题似乎不清楚...... 所以让我们清楚一下(或者至少尝试一下)!
我们正在使用包含许多按钮的功能区构建MainForm。功能区中的每个按钮都被禁用,直到它们各自的状态为“准备启用”。 “准备启用”取决于一件事:与按钮关联的WinForm_Popup已经完全构建,包括数据检索和DevExpress.ExpressApp.ListView构造。
我们试图把它放在一个线程或一个任务中,没有成功:它在WinForm_Popup.Show()上崩溃,并且有一个与DragDrop事件有关的异常。
我现在所知道的是,Show()方法需要很长时间,但是我不知道在这个方法中发生了什么,但构建了DevExpress.ExpressApp.ListView,它应该从Show中取走(或者做它可能在任务或Thred中。)
或者,换句话说,将WinForm_Popup UI完全构建为显示时,但是异步执行(例如,在单独的任务中)。
任何想法,建议,帮助,链接,建议,提示......任何“事物”?
答案 0 :(得分:1)
制作新表单并将其设为空。在program.cs文件中,将主窗体更改为新窗体。然后使新的表单构造函数如下:
public newForm()
{
this.Hide();
Thread backTh = new Thread(() =>
{
MainForm mf = new MainForm();
mf.Show();
});
backTh.Start();
}
答案 1 :(得分:0)
我会采用相反的方法,通常用于像网络浏览器这样的慢速加载系统。为什么不快速加载表单,然后使用线程填充缓慢加载的网格视图?
这样,你可以像旋转沙漏(或更少的1995年),告诉你的用户数据正在加载。