AccessibleObject.Navigate メソッド
他のユーザー補助オブジェクトに移動します。
Public Overridable Function Navigate( _
ByVal navdir As AccessibleNavigation _) As AccessibleObject
[C#]
public virtual AccessibleObject Navigate(AccessibleNavigationnavdir);
[C++]
public: virtual AccessibleObject* Navigate(AccessibleNavigationnavdir);
[JScript]
public function Navigate(
navdir : AccessibleNavigation) : AccessibleObject;
パラメータ
- navdir
AccessibleNavigation 値の 1 つ。
戻り値
AccessibleNavigation 値の 1 つを表す AccessibleObject 。
例外
例外の種類 | 条件 |
---|---|
COMException | 移動に失敗しました。 |
解説
移動は、空間的な移動と論理的な移動のどちらの場合でも、常にコンテナ内のユーザー インターフェイス要素に制限されます。空間的な移動では、クライアントは、開始オブジェクトの兄弟だけに移動できます。論理的な移動では、クライアントは、使用する移動フラグに応じて、開始オブジェクトの子または兄弟のいずれかに移動できます。このメソッドでは、選択項目またはフォーカスは変更されません。フォーカスを変更したり、オブジェクトを選択したりするには、 Select を使用します。 Navigate メソッドでは、画面の位置が定義されているユーザー インターフェイス要素だけを取得できます。
継承時の注意: 表示可能なオブジェクトはすべて、このメソッドをサポートする必要があります。状態が AccessibleStates.Invisible に設定されている隠しオブジェクトへは、移動できないことがあります。メニュー、メニュー項目、ポップアップ メニューなど、システム定義の一部のインターフェイス要素では、表示されないオブジェクトに移動できます。ただし、システム定義の他のユーザー インターフェイス要素は、非表示のオブジェクトへの移動をサポートしていません。サーバーは、表示されないオブジェクトへの移動をできるだけサポートする必要がありますが、必須ではありません。また、クライアントは、サポートされないことを予測しておく必要があります。
使用例
[Visual Basic, C#, C++] ユーザー補助情報を公開する AccessibleObject クラスおよび Control.ControlAccessibleObject クラスを使用して、ユーザー補助対応のチャート コントロールを作成する方法の例を次に示します。コントロールは、凡例に沿って 2 つの曲線をプロットします。 ControlAccessibleObject から派生された ChartControlAccessibleObject
クラスは、チャート コントロールの独自のユーザー補助情報を提供することを目的として、 CreateAccessibilityInstance メソッドで使用します。チャートの凡例は実際の Control ベースのコントロールではなく、チャート コントロールによって描画されるため、組み込みのユーザー補助情報は含まれていません。このため、 ChartControlAccessibleObject
クラスは、 GetChild メソッドをオーバーライドして、凡例の各部分のユーザー補助情報を表す CurveLegendAccessibleObject
を返します。ユーザー補助対応のアプリケーションでこのコントロールが使用された場合、このコントロールは必要なユーザー補助情報を提供できます。
[Visual Basic, C#, C++] Navigate メソッドをオーバーライドする例を次に示します。コード例全体については、 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 名前空間