コントロールのタブを描画する方法を取得または設定します。
名前空間: 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 です。
例外
例外の種類 | 条件 |
---|---|
プロパティ値が、有効な 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
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
参照
関連項目
TabControl クラス
TabControl メンバ
System.Windows.Forms 名前空間
TabDrawMode
DrawItem