我有一个Outlook风格的应用程序。所以基本上我在左边和右边有一个侧边栏,我有一个托管内容的面板控件(pnlMainBody)。重绘和闪烁问题
内容通常是用户控件,当用户单击侧栏中的相应按钮时,该控件将添加到面板中。我的用户控件添加到面板的方法如下:
// _pnlEmails is the User Control that I am adding to the panel
_pnlEmails = new pnlEmails();
_pnlEmails.Dock = DockStyle.Fill;
this.pnlMainBody.Controls.Add(_pnlEmails);
一些,我添加到主屏的用户控件是相当复杂的UI明智的。所以当this.pnlMainBody.Controls.Add(_pnlEmails);
发生火灾时,我看到控制器出现在屏幕上,然后调整它自身以填充面板控制器的主体。
实际上这是相当丑陋的,所以我想知道是否有办法在调整大小之前不显示调整大小?
我试着将用户控件的.Visible
设置为false。我试过.SuspendLayout
,都无济于事。
有没有办法做到这一点,所以屏幕过渡是平稳的?
双缓冲一直在属性中。 – AngryHacker 2010-03-29 22:02:34
所有的东西(包括下层控件都设置为双缓冲区,整个调整大小操作在.Visible设置为true后开始,这使得它看起来很难看) – AngryHacker 2010-03-29 22:14:37
你在使用第三方控件吗 – 2010-03-29 22:25:17