TabControl.DrawItem-Ereignis
Tritt ein, wenn das TabControl alle Registerkarten zeichnen muss, wenn die DrawMode-Eigenschaft auf OwnerDrawFixed festgelegt ist.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Syntax
'Declaration
Public Event DrawItem As DrawItemEventHandler
'Usage
Dim instance As TabControl
Dim handler As DrawItemEventHandler
AddHandler instance.DrawItem, handler
public event DrawItemEventHandler DrawItem
public:
event DrawItemEventHandler^ DrawItem {
void add (DrawItemEventHandler^ value);
void remove (DrawItemEventHandler^ value);
}
/** @event */
public void add_DrawItem (DrawItemEventHandler value)
/** @event */
public void remove_DrawItem (DrawItemEventHandler value)
JScript unterstützt die Verwendung von Ereignissen, aber nicht die Deklaration von neuen Ereignissen.
Hinweise
Wenn die DrawMode-Eigenschaft auf OwnerDrawFixed festgelegt wird, löst das TabControl ein DrawItem-Ereignis aus, wenn eine seiner Registerkarten neu gezeichnet werden muss. Die Darstellung der Registerkarten kann durch eigenen Zeichnungscode in einem Handler für das DrawItem-Ereignis angepasst werden.
Das TabControl unterstützt keine variablen Registerkartengrößen mit Ownerdrawing.
Weitere Informationen zum Behandeln von Ereignissen finden Sie unter Behandeln von Ereignissen.
Beispiel
Im folgenden Beispiel wird ein TabControl mit einer TabPage erstellt. In diesem Beispiel wird ein Ereignishandler deklariert, mit dem eine Zeichenfolge und ein Rectangle auf die Registerkarte von tabPage1
gezeichnet werden. Der Ereignishandler wird an das DrawItem-Ereignis gebunden.
Verwenden Sie für dieses Beispiel den System.Drawing-Namespace und den System.Windows.Forms-Namespace.
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
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
TabControl-Klasse
TabControl-Member
System.Windows.Forms-Namespace
DrawItemEventHandler-Delegat
OnDrawItem