TabControl.DrawMode プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > TabControl.DrawMode プロパティの意味・解説 

TabControl.DrawMode プロパティ

コントロールのタブを描画する方法を取得または設定します。

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Property DrawMode As
 TabDrawMode
Dim instance As TabControl
Dim value As TabDrawMode

value = instance.DrawMode

instance.DrawMode = value
public TabDrawMode DrawMode { get; set;
 }
public:
property TabDrawMode DrawMode {
    TabDrawMode get ();
    void set (TabDrawMode value);
}
/** @property */
public TabDrawMode get_DrawMode ()

/** @property */
public void set_DrawMode (TabDrawMode value)
public function get DrawMode
 () : TabDrawMode

public function set DrawMode
 (value : TabDrawMode)

プロパティ値
TabDrawMode 値の 1 つ。既定値は Normal です。

例外例外
例外の種類条件

InvalidEnumArgumentException

プロパティ値が、有効な TabDrawMode 値ではありません。

解説解説

DrawMode プロパティを OwnerDrawFixed に設定した場合、そのタブのいずれかを描画する必要があるたびに、TabControl は DrawItem イベントを発生させます。タブの外観をカスタマイズするには、描画を行う独自のコードを DrawItem イベントのハンドラに指定します。

TabControl は、オーナー描画を使用した可変のタブ サイズはサポートしていません。

使用例使用例

1 つの TabPage がある TabControl を作成するコード例を次に示します。この例では、DrawMode プロパティを OwnerDrawFixed に設定します。この場合、タブは親オブジェクトである Form1 によって描画されます。値 OwnerDrawFixed によって、DrawItem イベントにもアクセスできるようになり、この例では、このイベントを使用して tabPage1 タブ上に myTabRect を描画します。

この例では、System.Drawing 名前空間と System.Windows.Forms 名前空間を使用します。

Imports System.Drawing
Imports System.Windows.Forms

Public Class Form1
    Inherits Form
    Private tabControl1 As TabControl
    Private myTabRect As Rectangle

    Public Sub New()
        tabControl1 = New TabControl()
        Dim tabPage1 As New
 TabPage()

        ' Sets the tabs to be drawn by the parent window Form1.
        ' OwnerDrawFixed allows access to DrawItem. 
        tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed

        tabControl1.Controls.Add(tabPage1)
        tabControl1.Location = New Point(25, 25)
        tabControl1.Size = New Size(250, 250)

        tabPage1.TabIndex = 0

        myTabRect = tabControl1.GetTabRect(0)

        ClientSize = New Size(300, 300)
        Controls.Add(tabControl1)

        AddHandler tabControl1.DrawItem, AddressOf
 OnDrawItem
    End Sub

    Private Sub OnDrawItem(ByVal
 sender As Object, ByVal
 e As DrawItemEventArgs)
        Dim g As Graphics = e.Graphics
        Dim p As New Pen(Color.Blue)
        g.DrawRectangle(p, myTabRect)
    End Sub

    Shared Sub Main()
        Application.Run(New Form1())
    End Sub
End Class
using System.Drawing;
using System.Windows.Forms;

public class Form1 : Form
{
    private TabControl tabControl1;
    private Rectangle myTabRect;

    public Form1()
    {
        tabControl1 = new TabControl();
        TabPage tabPage1 = new TabPage();

        // Sets the tabs to be drawn by the parent window Form1.
        // OwnerDrawFixed allows access to DrawItem. 
        tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;

        tabControl1.Controls.Add(tabPage1);
        tabControl1.Location = new Point(25, 25);
        tabControl1.Size = new Size(250, 250);

        tabPage1.TabIndex = 0;

        myTabRect = tabControl1.GetTabRect(0);

        ClientSize = new Size(300, 300);
        Controls.Add(tabControl1);

        tabControl1.DrawItem += new DrawItemEventHandler(OnDrawItem);
    }
 
    private void OnDrawItem(object sender,
 DrawItemEventArgs e)
    {
        Graphics g = e.Graphics;
        Pen p = new Pen(Color.Blue);
        g.DrawRectangle(p, myTabRect);
    }

    static void Main() 
    {
        Application.Run(new Form1());
    }
}
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public
 Form
{
private:
   TabControl^ tabControl1;
   Rectangle myTabRect;

public:
   Form1()
   {
      tabControl1 = gcnew TabControl;
      TabPage^ tabPage1 = gcnew TabPage;
      
      // Sets the tabs to be drawn by the parent window Form1.
      // OwnerDrawFixed allows access to DrawItem.
      tabControl1->DrawMode = TabDrawMode::OwnerDrawFixed;
      tabControl1->Controls->Add( tabPage1 );
      tabControl1->Location = Point(25,25);
      tabControl1->Size = System::Drawing::Size( 250, 250 );
      tabPage1->TabIndex = 0;
      myTabRect = tabControl1->GetTabRect( 0 );
      ClientSize = System::Drawing::Size( 300, 300 );
      Controls->Add( tabControl1 );
      tabControl1->DrawItem += gcnew DrawItemEventHandler( this,
 &Form1::OnDrawItem );
   }


private:
   void OnDrawItem( Object^ /*sender*/, DrawItemEventArgs^ e )
   {
      Graphics^ g = e->Graphics;
      Pen^ p = gcnew Pen( Color::Blue );
      g->DrawRectangle( p, myTabRect );
   }

};

int main()
{
   Application::Run( gcnew Form1 );
}

import System.Drawing.*;
import System.Windows.Forms.*;

public class Form1 extends Form
{
    private TabControl tabControl1;
    private Rectangle myTabRect;

    public Form1()
    {
        tabControl1 = new TabControl();

        TabPage tabPage1 = new TabPage();

        // Sets the tabs to be drawn by the parent window Form1.
        // OwnerDrawFixed allows access to DrawItem. 
        tabControl1.set_DrawMode(TabDrawMode.OwnerDrawFixed);
        tabControl1.get_Controls().Add(tabPage1);
        tabControl1.set_Location(new Point(25, 25));
        tabControl1.set_Size(new Size(250, 250));
        tabPage1.set_TabIndex(0);
        myTabRect = tabControl1.GetTabRect(0);
        set_ClientSize(new Size(300, 300));
        get_Controls().Add(tabControl1);
        tabControl1.add_DrawItem(new DrawItemEventHandler(OnDrawItem));
    } //Form1

    private void OnDrawItem(Object sender,
 DrawItemEventArgs e)
    {
        Graphics g = e.get_Graphics();
        Pen p = new Pen(Color.get_Blue());
        g.DrawRectangle(p, myTabRect);
    } //OnDrawItem

    public static void main(String[]
 args)
    {
        Application.Run(new Form1());
    } //main
} //Form1
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

TabControl.DrawMode プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



TabControl.DrawMode プロパティのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS