次の方法で共有


TabControl.DisplayRectangle プロパティ

コントロールのタブ ページの表示領域を取得します。

Overrides Public ReadOnly Property DisplayRectangle As Rectangle
[C#]
public override Rectangle DisplayRectangle {get;}
[C++]
public: __property Rectangle get_DisplayRectangle();
[JScript]
public override function get DisplayRectangle() : Rectangle;

プロパティ値

タブ ページの表示領域を表す Rectangle

使用例

[Visual Basic, C#, C++] 1 つの TabPage が配置された TabControl を作成する例を次に示します。この例では、 DisplayRectangle プロパティを使用して tabControl1 のタブ ページ表示領域を表す Rectangle を描画します。この例では、 Inflate メソッドを使用していることに注意してください。このメソッドを使用しない場合は、 TabPage 描画コードが DrawOnTabPage メソッドで描画された Rectangle を上書きします。

[Visual Basic, C#, C++] この例では、 System.Drawing 名前空間と System.Windows.Forms 名前空間を使用します。

 
Imports System.Drawing
Imports System.Windows.Forms

Public Class Form1
   Inherits Form
   Private myTabRect As Rectangle
   
   Public Sub New()
      Dim tabControl1 As New TabControl()
      Dim tabPage1 As New TabPage()
      
      tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed
      tabControl1.Appearance = TabAppearance.Buttons
      tabControl1.Location = New Point(25, 25)
      tabControl1.Controls.Add(tabPage1)
      Controls.Add(tabControl1)
      
      ' Gets a Rectangle that represents the tab page display area of tabControl1.
      myTabRect = tabControl1.DisplayRectangle
      
      myTabRect.Inflate(1, 1)
      AddHandler tabControl1.DrawItem, AddressOf DrawOnTabPage
   End Sub
   
   Private Sub DrawOnTabPage(sender As Object, 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 Rectangle myTabRect;

    public Form1()
    {
        TabControl tabControl1 = new TabControl();
        TabPage tabPage1 = new TabPage();

        tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;
        tabControl1.Appearance = TabAppearance.Buttons;
        tabControl1.Location = new Point(25, 25);
        tabControl1.Controls.Add(tabPage1);
        Controls.Add(tabControl1);

        // Gets a Rectangle that represents the tab page display area of tabControl1.
        myTabRect = tabControl1.DisplayRectangle;

        myTabRect.Inflate(1, 1); 
        tabControl1.DrawItem += new DrawItemEventHandler(DrawOnTabPage);
    }

    private void DrawOnTabPage(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:
    Rectangle myTabRect;

public:
    Form1() {
        TabControl* tabControl1 = new TabControl();
        TabPage* tabPage1 = new TabPage();

        tabControl1->DrawMode = TabDrawMode::OwnerDrawFixed;
        tabControl1->Appearance = TabAppearance::Buttons;
        tabControl1->Location = Point(25, 25);
        tabControl1->Controls->Add(tabPage1);
        Controls->Add(tabControl1);

        // Gets a Rectangle that represents the tab page display area of tabControl1.
        myTabRect = tabControl1->DisplayRectangle;

        myTabRect.Inflate(1, 1); 
        tabControl1->DrawItem += new DrawItemEventHandler(this, &Form1::DrawOnTabPage);
    }

private:
    void DrawOnTabPage(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 名前空間 | Rectangle