WinForm 窗体图片多,启动时卡顿、闪烁很长时间

WinForm项目窗体图片背景卡顿问题解决
在某个WinForm项目中,窗体使用图片作按钮背景时启动卡顿、闪烁。推测是设置图片后其他界面代码执行致窗体不断刷新。解决办法是不在设计器中设置背景图片,在代码里为控件设置,且在窗体load方法中操作,其他界面操作放前,设置图片操作放最后,启动速度大幅提升。

最近某个WinForm项目中,一个窗体中放了不少按钮,都用图片作为背景,启动时发现卡顿无比,不断闪烁很长时间界面才能加载完成。

尝试拿掉图片后,就不卡了。但各种背景图片又是必须的,怎么办?

现象是界面上已经看到图片了,但还是不停闪烁,推测是设置图片之后,有其他关于界面的代码执行,导致窗体需要不断刷新重现加载。

尝试一番之后,找到了改善卡顿的办法,步骤如下:

1. 不要在设计器中设置背景图片,设计器中的按钮,就让它没有背景。

2. 在代码中为控件设置背景图片:

private void initUI(){

//Button
button1.BackgroundImage = Proj1.Properties.Resources.bgStart; 
button1.BackgroundImageLayout = ImageLayout.Stretch;
//Penel
panel.BackgroundImage = Proj1.Properties.Resources.bgLogin; 
panel.BackgroundImageLayout = ImageLayout.Stretch;
//Form
this.BackgroundImage = Proj1.Properties.Resources.bgMain1; 
this.BackgroundImageLayout = ImageLayout.Stretch;

}

3.  在窗体的load方法中进行设置背景图的操作,并且,如果有其他对于界面的操作,那么其他操作放在前面,设置图片的操作放在最后:

private void FormMain1_Load(object sender, EventArgs e)
{
     //其他界面操作    
     this.FormBorderStyle = FormBorderStyle.None;
     this.WindowState = FormWindowState.Maximized;

     //设置图片的操作
     initUI();
}

问题解决,启动速度快了很多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹰信息技术服务部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值