2014-12-01 174 views
0

我創建了一個簡單的程序,現在我正處於設計階段。我有多個面板,我可以在「標籤」(EG.1面板的登錄屏幕和1面板的創建帳戶屏幕)之間切換可見/不可見。現在我已經使這些面板不可見,因爲我希望它們只是容器,能夠快速移動控件並創建按鈕。閃爍透明面板

我的問題是,我將窗體背景圖像設置爲我製作的圖像Photoshop和每當我在面板之間切換閃爍,每當我只使用系統顏色(白色,黑色),這不會發生。 有什麼辦法可以消除閃爍現象嗎?

我已經試過:

  • 設置雙緩衝真
  • 保護overrideing的OnPaint,CreateBackground和Createparam

我的代碼是非常基本的:

private void btnNewAcc_Click(object sender, EventArgs e) 
    { 
     PanelNewAccount.Visible = true; 
     PanelLogin.Visible = false; 
    } 
+0

沒有看到您的代碼我只能建議嘗試一個雙緩衝面板子類 – TaW 2014-12-01 20:54:20

回答

0

感謝帕特里克我已經解決了我的問題, 而是採用面板我的在使用TabControl時,我爲每個選項卡分配了相同的背景。 同樣容易添加動態按鈕。 與面板相同的功能,但沒有閃爍。

0

嘗試將窗體屬性DoubleBuffered設置爲true,以winforms形式閃爍通常LY情況是因爲GDI +是試圖繪製控件(一個或多個)很多次這樣DoubleBuffering您的圖形應該在這樣的情況下幫助

form.DoubleBuffered = true; 
+0

對不起,我只是編輯我的文章,我已經試過,但沒有任何影響我害怕 – BornToGrill 2014-12-01 20:54:35

+0

@BornToGrill有你嘗試使用TabControl ?,我在測試應用程序中使用了相同的方法,並沒有閃爍 – Patrick 2014-12-01 21:02:06

+0

我不明白我怎麼能用它作爲一個替代,我沒有真正使用TabControls,但我找不到如何使它透明,我也不知道它是否允許我動態地添加按鈕,如我需要 – BornToGrill 2014-12-01 21:05:56