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 ファミリ