TabControl.DrawMode Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví způsob, jakým jsou karty ovládacího prvku vykresleny.
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
Hodnota vlastnosti
Jedna z TabDrawMode hodnot. Výchozí formát je Normal
.
Výjimky
Hodnota vlastnosti není platná TabDrawMode hodnota.
Příklady
Následující příklad kódu vytvoří s TabControl jedním TabPage. Tento příklad nastaví DrawMode vlastnost na OwnerDrawFixed
, která určuje, že karty jsou vykresleny nadřazeným objektem Form1
. Hodnota OwnerDrawFixed
také umožňuje přístup k DrawItem události, která se v tomto příkladu používá ke kreslení myTabRect
na tabPage1
kartě.
V tomto příkladu System.Drawing použijte obory názvů a System.Windows.Forms .
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
Poznámky
Když vlastnost nastavíte DrawMode na OwnerDrawFixed, TabControl vyvolá DrawItem událost vždy, když potřebuje vykreslit některou ze svých karet. Pokud chcete přizpůsobit vzhled karet, zadejte vlastní kód obrazu v obslužné rutině DrawItem události.
Nepodporuje TabControl proměnné velikosti karet s výkresem vlastníka.