[英]C# completely loading a WinForm without showing it (VS2010)
在VS 2010上使用DevExpress 2012 vol 2.10 C#
第一个问题似乎还不清楚...所以让我们澄清一下(或至少尝试一下)!
我们正在使用包含许多按钮的功能区构建MainForm。 功能区中的每个按钮都被禁用,直到其各自的状态为“准备启用”为止。 “准备启用”取决于一件事:与按钮关联的WinForm_Popup已完全构建,包括数据检索和DevExpress.ExpressApp.ListView构造。
我们试图将其放入线程或任务中,但没有成功:它在WinForm_Popup.Show()上崩溃,但与DragDrop事件相关。
我现在所知道的是Show()方法需要很长时间,但是我不知道此方法会发生什么,而是构造了DevExpress.ExpressApp.ListView,应该将其从Show中删除(或在Show中删除)。任务或Thred)。
或者,换句话说,完全按照显示时的方式完全构建了WinForm_Popup UI,但是以异步方式执行此操作(例如,在单独的Task中)。
任何想法,建议,帮助,链接,建议,技巧...任何“东西”吗?
制作一个新表格并使其为空。 在program.cs文件中,将您的主窗体更改为新窗体。 然后使新的表单构造函数如下所示:
public newForm()
{
this.Hide();
Thread backTh = new Thread(() =>
{
MainForm mf = new MainForm();
mf.Show();
});
backTh.Start();
}
我会选择相反的方法,该方法通常用于加载速度慢的系统(如Web浏览器)中。 为什么不快速加载表单,然后使用线程填充缓慢加载的网格视图?
这样,您就可以像旋转的沙漏(1995年或更短的时间)那样告诉用户数据正在加载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.