次の方法で共有


TabControl.GetTabRect メソッド

タブ コントロール内の指定したタブの外接する四角形を返します。

Public Function GetTabRect( _
   ByVal index As Integer _) As Rectangle
[C#]
public Rectangle GetTabRect(intindex);
[C++]
public: Rectangle GetTabRect(intindex);
[JScript]
public function GetTabRect(
   index : int) : Rectangle;

パラメータ

  • index
    指定したタブの 0 から始まるインデックス。

戻り値

指定したタブの境界を表す Rectangle

例外

例外の種類 条件
ArgumentOutOfRangeException インデックスが 0 未満です。

または

インデックスが、 Count 以上です。

使用例

[Visual Basic, C#, C++] 1 つの TabPage が配置された TabControl を作成する例を次に示します。この例では、 GetTabRect メソッドを使用して、 tabPage1 タブ領域を表す Rectangle を取得しています。 myTabRect Rectangle は、 DrawItem イベントによって描画されます。

[Visual Basic, C#, C++] この例では、 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()

        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

[C#] 
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());
    }
}

[C++] 
using namespace System::Drawing;
using namespace System::Windows::Forms;

public __gc class Form1 : public Form {
private:
    TabControl*  tabControl1;
    Rectangle  myTabRect;

public:
    Form1() {
        tabControl1 = new TabControl();
        TabPage* tabPage1 = new 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 += 
            new DrawItemEventHandler(this, &Form1::OnDrawItem);
    }

private:
    void OnDrawItem(Object* /*sender*/, DrawItemEventArgs* e) {
        Graphics* g = e->Graphics;
        Pen* p = new Pen(Color::Blue);
        g->DrawRectangle(p, myTabRect);
    }
};
int main() {
    Application::Run(new Form1());
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

TabControl クラス | TabControl メンバ | System.Windows.Forms 名前空間