次の方法で共有


AccessibleObject.Bounds プロパティ

ユーザー補助オブジェクトの位置とサイズを取得します。

Public Overridable ReadOnly Property Bounds As Rectangle
[C#]
public virtual Rectangle Bounds {get;}
[C++]
public: __property virtual Rectangle get_Bounds();
[JScript]
public function get Bounds() : Rectangle;

プロパティ値

ユーザー補助オブジェクトの境界を表す Rectangle

例外

例外の種類 条件
COMException コントロールの境界を取得できません。

解説

Bounds プロパティは、オブジェクトの境界を表す四角形を画面座標で取得します。オブジェクトの形が四角形以外の場合、このプロパティは、オブジェクト領域全体が完全に収まる最小の四角形を表します。このため、リスト ビュー項目など、四角形以外のオブジェクトでは、 HitTest メソッドを呼び出してテストをしたときに、オブジェクトの境界を表す四角形の座標がヒットしないことがあります。これは、 HitTest では、ピクセルに基づいてオブジェクトの境界が判断されるためです。

継承時の注意: オブジェクトがシステム コントロールをラップしている場合、既定の実装はユーザー補助オブジェクトの外接する四角形を返します。これ以外の場合は、 Rectangle.Empty を返します。表示可能なユーザー補助オブジェクトはすべて、このメソッドをサポートする必要があります。サウンド オブジェクトは、このメソッドをサポートしません。

使用例

[Visual Basic, C#, C++] ユーザー補助情報を公開する AccessibleObject クラスおよび Control.ControlAccessibleObject クラスを使用して、ユーザー補助対応のチャート コントロールを作成する方法の例を次に示します。コントロールは、凡例に沿って 2 つの曲線をプロットします。 ControlAccessibleObject から派生された ChartControlAccessibleObject クラスは、チャート コントロールの独自のユーザー補助情報を提供することを目的として、 CreateAccessibilityInstance メソッドで使用します。チャートの凡例は実際の Control ベースのコントロールではなく、チャート コントロールによって描画されるため、組み込みのユーザー補助情報は含まれていません。このため、 ChartControlAccessibleObject クラスは、 GetChild メソッドをオーバーライドして、凡例の各部分のユーザー補助情報を表す CurveLegendAccessibleObject を返します。ユーザー補助対応のアプリケーションでこのコントロールが使用された場合、このコントロールは必要なユーザー補助情報を提供できます。

[Visual Basic, C#, C++] Bounds プロパティをオーバーライドする例を次に示します。コード例全体については、 AccessibleObject クラスの概要を参照してください。

 
' Inner class CurveLegendAccessibleObject represents accessible information 
' associated with the CurveLegend object.
Public Class CurveLegendAccessibleObject
    Inherits AccessibleObject

    Private curveLegend As CurveLegend
    
    Public Sub New(curveLegend As CurveLegend)
        Me.curveLegend = curveLegend
    End Sub 'New
    
    ' Private property that helps get the reference to the parent ChartControl.                
    Private ReadOnly Property ChartControl() As ChartControlAccessibleObject
        Get
            Return CType(Parent, ChartControlAccessibleObject)
        End Get
    End Property

    ' Friend helper function that returns the ID for this CurveLegend.                
    Friend ReadOnly Property ID() As Integer
        Get
            Dim i As Integer
            For i = 0 To (ChartControl.GetChildCount()) - 1
                If ChartControl.GetChild(i) Is Me Then
                    Return i
                End If
            Next i
            Return - 1
        End Get
    End Property
    
    ' Gets the Bounds for the CurveLegend. This is used by accessibility programs.
    Public Overrides ReadOnly Property Bounds() As Rectangle
        Get
            ' The bounds is in screen coordinates.
            Dim loc As Point = curveLegend.Location
            Return New Rectangle(curveLegend.chart.PointToScreen(loc), curveLegend.Size)
        End Get
    End Property

    ' Gets or sets the Name for the CurveLegend. This is used by accessibility programs.                
    Public Overrides Property Name() As String
        Get
            Return curveLegend.Name
        End Get
        Set
            curveLegend.Name = value
        End Set
    End Property
    
    ' Gets the Curve Legend Parent's Accessible object.
    ' This is used by accessibility programs.                
    Public Overrides ReadOnly Property Parent() As AccessibleObject
        Get
            Return curveLegend.chart.AccessibilityObject
        End Get
    End Property
    
    ' Gets the role for the CurveLegend. This is used by accessibility programs.                
    Public Overrides ReadOnly Property Role() As AccessibleRole
        Get
            Return System.Windows.Forms.AccessibleRole.StaticText
        End Get
    End Property

    ' Gets the state based on the selection for the CurveLegend. 
    ' This is used by accessibility programs.                
    Public Overrides ReadOnly Property State() As AccessibleStates
        Get
            Dim stateTemp As AccessibleStates = AccessibleStates.Selectable
            If curveLegend.Selected Then
                stateTemp = stateTemp Or AccessibleStates.Selected
            End If
            Return stateTemp
        End Get
    End Property
    
    ' Navigates through siblings of this CurveLegend. This is used by accessibility programs.                
    Public Overrides Function Navigate(navdir As AccessibleNavigation) As AccessibleObject
        ' Use the Friend NavigateFromChild helper function that exists
        ' on ChartControlAccessibleObject.
        Return ChartControl.NavigateFromChild(Me, navdir)
    End Function
    
    ' Selects or unselects this CurveLegend. This is used by accessibility programs.
    Public Overrides Sub [Select](selection As AccessibleSelection)

        ' Use the internal SelectChild helper function that exists
        ' on ChartControlAccessibleObject.
        ChartControl.SelectChild(Me, selection)
    End Sub

End Class 'CurveLegendAccessibleObject

[C#] 
// Inner class CurveLegendAccessibleObject represents accessible information 
// associated with the CurveLegend object.
public class CurveLegendAccessibleObject : AccessibleObject
{
    private CurveLegend curveLegend;

    public CurveLegendAccessibleObject(CurveLegend curveLegend) : base() 
    {
        this.curveLegend = curveLegend;                    
    }                

    // Private property that helps get the reference to the parent ChartControl.
    private ChartControlAccessibleObject ChartControl
    {   
        get {
            return Parent as ChartControlAccessibleObject;
        }
    }

    // Internal helper function that returns the ID for this CurveLegend.
    internal int ID
    {
        get {
            for(int i = 0; i < ChartControl.GetChildCount(); i++) {
                if (ChartControl.GetChild(i) == this) {
                    return i;
                }
            }
            return -1;
        }
    }

    // Gets the Bounds for the CurveLegend. This is used by accessibility programs.
    public override Rectangle Bounds
    {
        get {                        
            // The bounds is in screen coordinates.
            Point loc = curveLegend.Location;
            return new Rectangle(curveLegend.chart.PointToScreen(loc), curveLegend.Size);
        }
    }

    // Gets or sets the Name for the CurveLegend. This is used by accessibility programs.
    public override string Name
    {
        get {
            return curveLegend.Name;
        }
        set {
            curveLegend.Name = value;                        
        }
    }

    // Gets the Curve Legend Parent's Accessible object.
    // This is used by accessibility programs.
    public override AccessibleObject Parent
    {
        get {
            return curveLegend.chart.AccessibilityObject;
        }
    }

    // Gets the role for the CurveLegend. This is used by accessibility programs.
    public override AccessibleRole Role 
    {
        get {
            return AccessibleRole.StaticText;
        }
    }

    // Gets the state based on the selection for the CurveLegend. 
    // This is used by accessibility programs.
    public override AccessibleStates State 
    {
        get {
            AccessibleStates state = AccessibleStates.Selectable;
            if (curveLegend.Selected) 
            {
                state |= AccessibleStates.Selected;
            }
            return state;
        }
    }

    // Navigates through siblings of this CurveLegend. This is used by accessibility programs.
    public override AccessibleObject Navigate(AccessibleNavigation navdir) 
    {
        // Uses the internal NavigateFromChild helper function that exists
        // on ChartControlAccessibleObject.
        return ChartControl.NavigateFromChild(this, navdir);
    }

    // Selects or unselects this CurveLegend. This is used by accessibility programs.
    public override void Select(AccessibleSelection selection) 
    {
        // Uses the internal SelectChild helper function that exists
        // on ChartControlAccessibleObject.
        ChartControl.SelectChild(this, selection);
    }
}

[C++] 
// Inner class CurveLegendAccessibleObject represents accessible information
// associated with the CurveLegend object.
   public:
__gc class CurveLegendAccessibleObject : public AccessibleObject {
private:
   CurveLegend*  curveLegend;

public:
   CurveLegendAccessibleObject(CurveLegend* curveLegend) : AccessibleObject() {
      this->curveLegend = curveLegend;
   }

   // Private property that helps get the reference to the parent ChartControl.
private:
   __property ChartControlAccessibleObject* get_ChartControl() {
      return dynamic_cast<ChartControlAccessibleObject*>(Parent);
   }


   // Internal helper function that returns the ID for this CurveLegend.
public private:
   __property int get_ID() {
      for (int i = 0; i < ChartControl->GetChildCount(); i++) {
         if (ChartControl->GetChild(i) == this) {
            return i;
         }
      }
      return -1;
   }

   // Gets the Bounds for the CurveLegend. This is used by accessibility programs.
public:
   __property Rectangle get_Bounds() {
      // The bounds is in screen coordinates.
      Point loc = curveLegend->Location;
      return Rectangle(curveLegend->chart->PointToScreen(loc), curveLegend->Size);
   }

   // Gets or sets the Name for the CurveLegend. This is used by accessibility programs.
   __property String* get_Name() {
      return curveLegend->Name;
   }
   __property void set_Name(String* value) {
      curveLegend->Name = value;
   }

   // Gets the Curve Legend Parent's Accessible object.
   // This is used by accessibility programs.
   __property AccessibleObject* get_Parent() {
      return curveLegend->chart->AccessibilityObject;
   }

   // Gets the role for the CurveLegend. This is used by accessibility programs.
   __property System::Windows::Forms::AccessibleRole get_Role() {
      return AccessibleRole::StaticText;
   }

   // Gets the state based on the selection for the CurveLegend.
   // This is used by accessibility programs.
   __property AccessibleStates get_State() {
      AccessibleStates state = AccessibleStates::Selectable;
      if (curveLegend->Selected) {
         state = static_cast<AccessibleStates>( state | AccessibleStates::Selected );
      }
      return state;
   }

   // Navigates through siblings of this CurveLegend. This is used by accessibility programs.
   AccessibleObject* Navigate(AccessibleNavigation navdir) {
      // Uses the internal NavigateFromChild helper function that exists
      // on ChartControlAccessibleObject.
      return ChartControl->NavigateFromChild(this, navdir);
   }

   // Selects or unselects this CurveLegend. This is used by accessibility programs.
   void Select(AccessibleSelection selection) {
      // Uses the internal SelectChild helper function that exists
      // on ChartControlAccessibleObject.
      ChartControl->SelectChild(this, selection);
   }
}; // class CurveLgendAccessibleObject

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

参照

AccessibleObject クラス | AccessibleObject メンバ | System.Windows.Forms 名前空間 | DefaultAction | Description | Help | KeyboardShortcut | Name | Parent | Role | State | Value