简体   繁体   English

在Windows窗体之间切换时的闪烁效果

[英]Blink effect when switching between Windows Forms

在此处输入图片说明 Have problems when switching from main form to another form where was set data by background worker. 从主表单切换到由后台工作人员设置数据的其他表单时遇到问题。 At switching happen blinking. 切换时会发生闪烁。

At debugging my second form looks like this. 在调试时,我的第二种形式如下所示。

backgroundWorker = new BackgroundWorker();
backgroundWorker.DoWork += LoadFixedAssetListFromHorizonForTable;
backgroundWorker.RunWorkerCompleted += LoadFixedAssetListFromHorizonForTableCompleted;
backgroundWorker.RunWorkerAsync();

if (backgroundWorker.IsBusy)
{
    loadingForm.ShowForm("Loading...");
}

mainMenuForm.Hide();
fixedAssetListForm.Show();

But if change code. 但是如果更改代码。 Form dont blink, only have form with clear zones like [1] image for 0.5 seconds. 表格不闪烁,只有具有清晰区域(如[1]图像)的表格持续0.5秒。

fixedAssetListForm.SuspendLayout();

mainMenuForm.Hide();
fixedAssetListForm.Show();

Thread.Sleep(500);
fixedAssetListForm.ResumeLayout();

我通过以下方法解决了这个问题:1)在Brackground Worker中删除了UI组件更新2)当VS未最小化UI渲染不能正常工作,最小化或在构建中正常工作时,Visual Studio中的第二部分错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM