TabControl.DrawMode プロパティ

定義

コントロールのタブを描画する方法を取得または設定します。Gets or sets the way that the control's tabs are drawn.

public:
 property System::Windows::Forms::TabDrawMode DrawMode { System::Windows::Forms::TabDrawMode get(); void set(System::Windows::Forms::TabDrawMode value); };
public System.Windows.Forms.TabDrawMode DrawMode { get; set; }
member this.DrawMode : System.Windows.Forms.TabDrawMode with get, set
Public Property DrawMode As TabDrawMode

プロパティ値

TabDrawMode 値のいずれか 1 つ。One of the TabDrawMode values. 既定値は、Normal です。The default is Normal.

例外

プロパティ値が、有効な TabDrawMode 値ではありません。The property value is not a valid TabDrawMode value.

次のコード例ではTabControl 、をTabPage使用してを作成します。The following code example creates a TabControl with one TabPage. この例ではDrawMode 、プロパティOwnerDrawFixedをに設定します。これは、親オブジェクトForm1によってタブが描画されることを指定します。This example sets the DrawMode property to OwnerDrawFixed, which specifies that the tabs are drawn by the parent object Form1. また、 OwnerDrawFixedこの値はDrawItemイベントへのアクセスを有効にします。この例ではmyTabRect 、をtabPage1使用してタブに描画します。The value OwnerDrawFixed also enables access to the DrawItem event, which, in this example, is used to draw myTabRect on the tabPage1 tab.

この例System.DrawingSystem.Windows.Formsは、名前空間と名前空間を使用します。Use the System.Drawing and System.Windows.Forms namespaces with this example.

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 );
}

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());
    }
}
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

注釈

DrawModeプロパティをにOwnerDrawFixed設定すると、そのTabControlタブのDrawItemいずれかを描画する必要があるときに、によってイベントが発生します。When you set the DrawMode property to OwnerDrawFixed, the TabControl raises the DrawItem event whenever it needs to paint one of its tabs. タブの外観をカスタマイズするには、 DrawItemイベントのハンドラーで独自の描画コードを指定します。To customize the appearance of the tabs, provide your own painting code in a handler for the DrawItem event.

TabControl 、オーナー描画を持つ可変タブサイズをサポートしていません。The TabControl does not support variable tab sizes with owner drawing.

適用対象

こちらもご覧ください