欢迎来到天天文库
浏览记录
ID:2074345
大小:69.50 KB
页数:8页
时间:2017-11-14
《c# 窗体加载还未完成时弹出对话框,窗体布局逻辑混乱》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、窗体加载还未完成时弹出对话框,窗体布局逻辑混乱分类:C#2011-11-1713:3060人阅读评论(0)收藏举报 /// ///强制恢复当前控件和所有父控件的正常的布局逻辑 /// /// privatevoidSetParentDockStype(Controluc) { uc.Dock=DockStyle.Fill; uc.ResumeLayout(true); if(uc.Parent!=
2、null) { SetParentDockStype(uc.Parent); } }分享到:VS2005中C#如何实现在加载大量数据的时候显示“正在加载,请稍等......" 的窗体,数据加载完后此窗体关闭,然后再打开登录窗体.假设“正在加载,请稍等......" 的窗体名为PreFrm,登录窗体名为LoginFrm,大家能够提供多线程或者异步解决的方法吗?我很少用线程,异步东东,不允许用简单的PreFrm.show()和PreFrm.close()来解决.说明:LoginFrm窗体数据绑定完之前都只显示P
3、reFrm窗体,等LoginFrm窗体数据绑定完之后,PreFrm窗体关闭,LoginFrm窗体打开.Thread th; public void str() { //form2是你要显示的加载窗口 PreFrm frm = new PreFrm(); frm.ShowDialog(); } private void LoginFrm_Load(object sender, EventArgs e) {
4、 th = new Thread(new ThreadStart(str)); th.Start(); //这里写你要加载数据的CODE th.Abort(); }/// /// 要执行的方法委托。 /// /// public delegate void ExecutiveFunction(objec
5、t obj); //线程消息回调方法委托。 private delegate void InvokeFunction0(); private delegate void InvokeFunction1(object obj); private string _str = "·"; private string _caption = "正在执行"; private ExecutiveFunction _executiveFunction = null;
6、 private Thread _thread = null; private bool _isAlreadyStart = false; private bool _isStartWhenShow = true; private bool _isUserThread = false; private object _currentData = null; private bool _isInit = false; #region 构造函数。
7、 /// /// 进度显示窗口。 /// /// 需要执行的方法。 /// 要执行的方法参数。 public Progress(ExecutiveFunction function, object obj) { InitializeComponent();
8、 this._currentData = obj; this._executiveFunction = f
此文档下载收益归作者所有