日期:2014-05-20  浏览次数:20887 次

请教windows form间显示切换效率问题
两个form   A,B
A.backcolor   =   黄色
B.backcolor   =   蓝色

A在B前面,A上有一button,点击使A.visible   =   false

为什么点击A上button的时候,总感觉A是一块一块消失的,而不是作为一个整体消失的。A消失的过程中能同时看到A和B两个form上的部分控件。而且form上的控件越多越明显。

请问应该如何让form   A一下子消失呢?

加application.doevents没有明显效果。

------解决方案--------------------

用最小化,试果可能好点
------解决方案--------------------
主要是內存太小的原因。
首推﹕
A.WindowState = System.Windows.Forms.FormWindowState.Minimized;
A.visible = false;

或試試:
A.SuspendLayout();
A.visible = false;
A.ResumeLayout();
------解决方案--------------------
双缓冲
楼主的控件是不是有透明背景色的?
------解决方案--------------------

改用 pictureBox试试
------解决方案--------------------
不要直接在FORM内加栽背景!!这样会很慢!!可以使用pictureBox等容器!
------解决方案--------------------
private void button1_Click(object sender, EventArgs e)
{

// Form1.LockWindowUpdate((IntPtr)(Form1.GetDesktopWindow()));

Application.OpenForms[0].BringToFront();
Close();
}