C#winform怎样等所有控件加载完再显示窗体?C#透明窗体显示时闪现黑块怎么解决?
C#winform怎样等所有控件加载完再显示窗体?怎样尽可能的减少窗体加载时闪烁现象?C#用TransParencyKey=BackColor来设置透明窗体,显示时闪现黑...
C#winform怎样等所有控件加载完再显示窗体?怎样尽可能的减少窗体加载时闪烁现象?C#用TransParencyKey = BackColor来设置透明窗体,显示时闪现黑块现象怎么解决?跪求高手解答
展开
5个回答
展开全部
这个问题我也遇到过,应该加载了很多控件吧,检查下IO、数据绑定、网络操作等资源消耗,可以考虑下双缓冲。
再就是使用透明度递增的模式,argb中的a是从0到255,这样控件是不会闪的,当然要开启一个thread或者使用timer控件来控制透明度。可能比较华而不实 - -玩玩可以
再就是使用透明度递增的模式,argb中的a是从0到255,这样控件是不会闪的,当然要开启一个thread或者使用timer控件来控制透明度。可能比较华而不实 - -玩玩可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼上说的方法可以考虑,不过一般对于初学者来说,简单处理一下的话,建议不要再Load事件中去获取数据并初始化控件,在Shown事件中去做,这样,会显示窗体然后在执行获取数据并初始化控件的操作,至少窗体显示不会延迟太长时间。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以考虑使用离屏图片的方式,这样 就不会闪烁了 ,绘制时重写主窗体的OnPaint
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this.SuspendLayout();
将控件加载移到后台。
this.ResumeLayout(false);
显示加载完的控件
将控件加载移到后台。
this.ResumeLayout(false);
显示加载完的控件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询