C#关于WinForm显示窗体闪烁的问题
前言
在工作中遇见窗体闪烁问题,在此记录(类似问题,遇到后再添加)。
一、Form.ShowDialog()关闭时主窗体闪烁
具体情况如下图:
在关闭通过ShowDialog弹出的窗体后主窗体快速闪烁(动图中有一闪而过的黑色–vs调试界面👀)。
此处弹出窗体的关闭按钮是自己写的(隐藏了winForm本身的边框)
private void button1_Click(object sender, EventArgs e)
{
this.Close();
this.Dispose();//导致闪烁的原因在此
}
注释Dispose,恢复正常。
PS:又考虑到对话框模式没有Dispose是否会泄露内存(在此没有深究,有时间研究再补充),故再调用窗体结束后释放。
FrmBinAdd frmBinAdd = new FrmBinAdd(BinBoxManager.GetInstance().GetBinBox(this.label1.Text));
frmBinAdd.ShowDialog();
frmBinAdd.Dispose();