我有一個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