C# 调用Application.ExitThread方法的时候,窗体控件变为透明了 5C

图片说明
1. FrmRxStart frm = new FrmRxStart();  //窗体
2. frm.Show();
3. Thread.Sleep(2000);
4. Application.ExitThread();

找了半天没找到问题所在,把Application.ExitThread注释掉显示正常。

2个回答

Thread.Sleep(2000);
前面加上一行
Application.DoEvents();

wjlay
人遇到狮子 再次感谢大哥。之前知道问题出在Application.ExitThread这个函数上面,针对Application也找了相关的方法,可能不太理解字面意思,没去试DoEvents这个函数了,惭愧
7 个月之前 回复

Application.ExitThread();退出线程,不就把资源释放了,没有线程运作,窗体就空了。
你要退出线程做什么,这行代码有什么意义

lty2017
lty2017 回复人遇到狮子: No,你没理解线程sleep的工作原理,你把Show改成ShowDialog,赋属窗体为this
7 个月之前 回复
wjlay
人遇到狮子 退出主线程是有另做它用的,我不理解的是,代码是往下执行的,应该是先完整的显示完窗体后,再退出线程的。可实际窗体出来了,里面的Label变成透明了。
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐