[C#開発テクニック]WinFormコントロールTabControlの点滅問題の解決
4750 ワード
C#でWinFormプログラムを開発すると、TabControlコントロールが実装時にデフォルトのウィンドウバックグラウンドを描画するため、TabControlで重大な点滅問題が発生することがよくあります.実は、以下の簡単なコードは、この問題の発生を効果的に緩和することができます.これがテクニックの役割で、あまり多くの知識を理解する必要はありませんが、多くの蓄積が必要で、仕事の半分の効果を達成することができます.
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.Windows.Forms;
5 namespace WfGUI.Forms
6 {
7 ///<summary>
8 /// TabContriol
9 /// </summary>
10 public class NoFlashTabControl : TabControl
11 {
12 ///<summary>
13 /// ,
14 ///</summary>
15 public NewTabControl()
16 {
17 SetStyle
18 ( ControlStyles.AllPaintingInWmPaint //
19 | ControlStyles.OptimizedDoubleBuffer //
20 , true);
21 }
22 ///<summary>
23 ///
24 ///</summary>
25 protected override CreateParams CreateParams
26 {
27 get
28 {
29 CreateParams cp = base.CreateParams;
30 cp.ExStyle |= 0 x02000000;
31 return cp;
32 }
33 }
34 }
35 }