C#WinForm程序运行时,窗体里部分控件无法显示?有朋友遇到过这样的问题吗?
该窗体我是用某个线程里的方法Application.Run(窗体Name);来Show出来的...
就出现了部份控件无法显示....
如:
WinForm WF;
private void Thread_Method()
{
//这里是对WinForm窗体进行加工处理然后new WinForm();这就省略不写了...太长...也没必要知道
//以上的对WinForm对象的WF进行加工后就再Run消息
Application.Run(WF);
}
private void Button_Click(object sender,Event.... e)
{
Thread temp_thread=new Thread(new ThreadStart(Thread_Method));
}
就是WF窗体显示出来后....有时可以完整的将所有的控件显示....有时部份控件无法显示....
到底是啥原因会这样的呢???
我自己感觉是因为窗体的显示是固定的时间内的,但可能是窗体过大,加载慢的话...就到达不了窗体要显示的时间内加载完...所以出现部分控件无法显示...所以我之前也试过用这样的方法来判断该要显示的窗体是否加载完整...但结果是不行...
如下代码:
while (!WF.IsHandleCreated)
{
Thread.Sleep(100);
}
if (WF.IsHandleCreated)
{
MessageBox.Show("控件句柄创建成功。继续执行。");
WF.Show();
}
else
{
MessageBox.Show("控件句柄创建中,请稍候。");
}