TabControl.DrawItem イベント
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim instance As TabControl Dim handler As DrawItemEventHandler AddHandler instance.DrawItem, handler
public: event DrawItemEventHandler^ DrawItem { void add (DrawItemEventHandler^ value); void remove (DrawItemEventHandler^ value); }

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

1 つの TabPage がある TabControl を作成するコード例を次に示します。この例では、tabPage1 のタブ上に文字列および Rectangle を描画するために使用するイベント ハンドラを宣言しています。このイベント ハンドラは、DrawItem イベントに連結されます。
この例では、System.Drawing 名前空間と System.Windows.Forms 名前空間を使用します。
Imports System.Drawing Imports System.Windows.Forms Public Class Form1 Inherits Form Private tabArea As Rectangle Private tabTextArea As RectangleF Public Sub New() Dim tabControl1 As New TabControl() Dim tabPage1 As New TabPage() ' Allows access to the DrawItem event. tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed tabControl1.SizeMode = TabSizeMode.Fixed tabControl1.Controls.Add(tabPage1) tabControl1.ItemSize = New Size(80, 30) tabControl1.Location = New Point(25, 25) tabControl1.Size = New Size(250, 250) tabPage1.TabIndex = 0 ClientSize = New Size(300, 300) Controls.Add(tabControl1) tabArea = tabControl1.GetTabRect(0) tabTextArea = RectangleF.op_Implicit(tabControl1.GetTabRect(0)) ' Binds the event handler DrawOnTab to the DrawItem event ' through the DrawItemEventHandler delegate. AddHandler tabControl1.DrawItem, AddressOf DrawOnTab End Sub ' Declares the event handler DrawOnTab which is a method that ' draws a string and Rectangle on the tabPage1 tab. Private Sub DrawOnTab(ByVal sender As Object, ByVal e As DrawItemEventArgs) Dim g As Graphics = e.Graphics Dim p As New Pen(Color.Blue) Dim font As New Font("Arial", 10.0F) Dim brush As New SolidBrush(Color.Red) g.DrawRectangle(p, tabArea) g.DrawString("tabPage1", font, brush, tabTextArea) 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 Rectangle tabArea; private RectangleF tabTextArea; public Form1() { TabControl tabControl1 = new TabControl(); TabPage tabPage1 = new TabPage(); // Allows access to the DrawItem event. tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed; tabControl1.SizeMode = TabSizeMode.Fixed; tabControl1.Controls.Add(tabPage1); tabControl1.ItemSize = new Size(80, 30); tabControl1.Location = new Point(25, 25); tabControl1.Size = new Size(250, 250); tabPage1.TabIndex = 0; ClientSize = new Size(300, 300); Controls.Add(tabControl1); tabArea = tabControl1.GetTabRect(0); tabTextArea = (RectangleF)tabControl1.GetTabRect(0); // Binds the event handler DrawOnTab to the DrawItem event // through the DrawItemEventHandler delegate. tabControl1.DrawItem += new DrawItemEventHandler(DrawOnTab); } // Declares the event handler DrawOnTab which is a method that // draws a string and Rectangle on the tabPage1 tab. private void DrawOnTab(object sender, DrawItemEventArgs e) { Graphics g = e.Graphics; Pen p = new Pen(Color.Blue); Font font = new Font("Arial", 10.0f); SolidBrush brush = new SolidBrush(Color.Red); g.DrawRectangle(p, tabArea); g.DrawString("tabPage1", font, brush, tabTextArea); } static void Main() { Application.Run(new Form1()); } }
using namespace System::Drawing; using namespace System::Windows::Forms; public ref class Form1: public Form { private: Rectangle tabArea; RectangleF tabTextArea; public: Form1() { TabControl^ tabControl1 = gcnew TabControl; TabPage^ tabPage1 = gcnew TabPage; // Allows access to the DrawItem event. tabControl1->DrawMode = TabDrawMode::OwnerDrawFixed; tabControl1->SizeMode = TabSizeMode::Fixed; tabControl1->Controls->Add( tabPage1 ); tabControl1->ItemSize = System::Drawing::Size( 80, 30 ); tabControl1->Location = Point(25,25); tabControl1->Size = System::Drawing::Size( 250, 250 ); tabPage1->TabIndex = 0; ClientSize = System::Drawing::Size( 300, 300 ); Controls->Add( tabControl1 ); tabArea = tabControl1->GetTabRect( 0 ); tabTextArea = tabControl1->GetTabRect( 0 ); // Binds the event handler DrawOnTab to the DrawItem event // through the DrawItemEventHandler delegate. tabControl1->DrawItem += gcnew DrawItemEventHandler( this, &Form1::DrawOnTab ); } private: // Declares the event handler DrawOnTab which is a method that // draws a String* and Rectangle on the tabPage1 tab. void DrawOnTab( Object^ /*sender*/, DrawItemEventArgs^ e ) { Graphics^ g = e->Graphics; Pen^ p = gcnew Pen( Color::Blue ); System::Drawing::Font^ font = gcnew System::Drawing::Font( "Arial",10.0f ); SolidBrush^ brush = gcnew SolidBrush( Color::Red ); g->DrawRectangle( p, tabArea ); g->DrawString( "tabPage1", font, brush, tabTextArea ); } }; int main() { Application::Run( gcnew Form1 ); }
import System.Drawing.*; import System.Windows.Forms.*; public class Form1 extends Form { private Rectangle tabArea; private RectangleF tabTextArea; public Form1() { TabControl tabControl1 = new TabControl(); TabPage tabPage1 = new TabPage(); // Allows access to the DrawItem event. tabControl1.set_DrawMode(TabDrawMode.OwnerDrawFixed); tabControl1.set_SizeMode(TabSizeMode.Fixed); tabControl1.get_Controls().Add(tabPage1); tabControl1.set_ItemSize(new Size(80, 30)); tabControl1.set_Location(new Point(25, 25)); tabControl1.set_Size(new Size(250, 250)); tabPage1.set_TabIndex(0); set_ClientSize(new Size(300, 300)); get_Controls().Add(tabControl1); tabArea = tabControl1.GetTabRect(0); tabTextArea = RectangleF.op_Implicit(tabControl1.GetTabRect(0)); // Binds the event handler DrawOnTab to the DrawItem event // through the DrawItemEventHandler delegate. tabControl1.add_DrawItem(new DrawItemEventHandler(DrawOnTab)); } //Form1 // Declares the event handler DrawOnTab which is a method that // draws a string and Rectangle on the tabPage1 tab. private void DrawOnTab(Object sender, DrawItemEventArgs e) { Graphics g = e.get_Graphics(); Pen p = new Pen(Color.get_Blue()); Font font = new Font("Arial", 10); SolidBrush brush = new SolidBrush(Color.get_Red()); g.DrawRectangle(p, tabArea); g.DrawString("tabPage1", font, brush, tabTextArea); } //DrawOnTab 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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からTabControl.DrawItem イベントを検索する場合は、下記のリンクをクリックしてください。

- TabControl.DrawItem イベントのページへのリンク