2011-04-06 18 views
6

winformsのタブコントロールの背景色を変更する方法があります。そのため、周囲に白い枠線が表示されません。WinFormsのタブコントロールの背景色を変更するにはどうすればよいですか?

私はいくつかの方法を試しましたが、すべて同じ白い境界が表示されます。

+1

いいえ、あなたはテーマの色を取得します。コントロールのビジュアルスタイルをオフにすることはできますが、それを変える方法はまだありません。 –

答えて

2

Here's an exampleは、カスタマイズのための非常に貧しいサポートしています。私はthis custom tab controlをうまく利用しました。あなたが私のように外観を変えたいなら、コードはかなり使いやすいです。

1

TabControlにAppearanceプロパティを変更すると考えることができCodeProject.com

1

まだ(IMO)簡単:あなたが欲しい色で背景の長方形を描く、その内のTabPage(ないトップレベルのTabControlが、のTabPage(複数可)にペイントハンドラを追加

  1. デザイナーや「手で」、のTabPageにPaintイベントハンドラを追加してください:ペイント方法では

    Page1.Paint += tabpage_Paint; // custom paint event so we get the backcolor we want 
    
  2. 、ページ長方形にあなたが(私の場合、私はそれをしたいしたい色を塗ります標準のBackColorに従ってください):

    // force the tab background to the current BackColor 
    private void tabpage_Paint(object sender, PaintEventArgs e) 
    { 
        SolidBrush fillBrush = new SolidBrush(BackColor); 
    
        e.Graphics.FillRectangle(fillBrush, e.ClipRectangle); 
    } 
    
+0

これは、トムがエッジとトップタブ自体(つまりヘッダー)の周りの色を変更する必要性を解決するとは思わない。 TabPage自体のクライアント領域は記述どおりに変更され、デザイナのTabPage.BackColorを使用して行うこともできます。ラプソディのCodeProjectのリンクに 、こちらもその制限にLauraMの応答をチェックアウト: http://stackoverflow.com/questions/67300/why-doesnt-backcolor-work-for-tabcontrols-in-net 最後に、考えますこのスレッド: http://stackoverflow.com/questions/5338587/set-tabpage-header-color –

関連する問題