您的位置:首页 > 编程语言 > C#

C# 窗体加载完成才显示

2015-11-04 19:18 246 查看
winform 由于做了最小化到任务了,加上放了很多控件,所以每次打开窗体都闪的厉害

百度了下,只有大概说,没有具体代码,所以来贴个,初学水平,来学习下的。

主窗体的 属性  Opacity 设置为0
主窗体事件里的Paint 设置为100,这个解释是:在控件需要重新绘制时发生。
实在没找到“在控件需要重新绘制时发生后”的事件,就将就着吧

private void Form1_Paint(object sender, PaintEventArgs e)
{
OnPaint();
}
private void OnPaint()
{
Thread.Sleep(100);//这个是延时,你试下不同,知道找到最小的数,而且窗口不会闪,要考虑在比较低端机上运行的
Application.DoEvents ();
Opacity = 100;

}


然后在关闭窗口或最小化窗口都加上
Opacity = 0;


比如:
            private void Form1_FormClosing(object sender, FormClosingEventArgs e)//关闭窗口(最小化任务栏)
        {
          e.Cancel = true;
            Hide();
           Opacity = 0;
        }


也可以直接搜索Hide(); ,然后在下面加一句Opacity = 0;

 Hide();<pre name="code" class="csharp" style="color: rgb(51, 51, 51); line-height: 20px;">Opacity = 0;


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# 窗体加载 winform