TabControl.GetTabRect(Int32) Metod

Definition

Returnerar avgränsningsrektangeln för en angiven flik i den här flikkontrollen.

public:
 System::Drawing::Rectangle GetTabRect(int index);
public System.Drawing.Rectangle GetTabRect(int index);
member this.GetTabRect : int -> System.Drawing.Rectangle
Public Function GetTabRect (index As Integer) As Rectangle

Parametrar

index
Int32

Det nollbaserade indexet för den flik som du vill ha.

Returer

En Rectangle som representerar gränserna för den angivna fliken.

Undantag

Indexet är mindre än noll.

-eller-

Indexet är större än eller lika med Count.

Exempel

I följande kodexempel skapas en TabControl med en TabPage. I det GetTabRect här exemplet används metoden för att hämta en Rectangle som representerar tabPage1 flikområdet. Ritas myTabRectRectangle av DrawItem händelsen.

Använd namnrymderna System.Drawing och System.Windows.Forms med det här exemplet.

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;
      tabControl1->Controls->Add( tabPage1 );
      tabControl1->DrawMode = TabDrawMode::OwnerDrawFixed;
      tabControl1->Location = Point(25,25);
      tabControl1->Size = System::Drawing::Size( 250, 250 );
      tabPage1->TabIndex = 0;
      
      // Gets the tabPage1 tab area defined by its TabIndex.
      // Returns a Rectangle to myTabRect.
      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();

        tabControl1.Controls.Add(tabPage1);
        tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;
        tabControl1.Location = new Point(25, 25);
        tabControl1.Size = new Size(250, 250);

        tabPage1.TabIndex = 0;

        // Gets the tabPage1 tab area defined by its TabIndex.
        // Returns a Rectangle to myTabRect.
        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()

        tabControl1.Controls.Add(tabPage1)
        tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed
        tabControl1.Location = New Point(25, 25)
        tabControl1.Size = New Size(250, 250)

        tabPage1.TabIndex = 0

        ' Gets the tabPage1 tab area defined by its TabIndex.
        ' Returns a Rectangle to myTabRect.
        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

Gäller för