次の方法で共有


AccessibleObject.Select メソッド

ユーザー補助オブジェクトの選択項目の修正またはキーボード フォーカスの移動を行います。

Public Overridable Sub Select( _
   ByVal flags As AccessibleSelection _)
[C#]
public virtual void Select(AccessibleSelectionflags);
[C++]
public: virtual void Select(AccessibleSelectionflags);
[JScript]
public function Select(
   flags : AccessibleSelection);

パラメータ

例外

例外の種類 条件
COMException 選択を実行できません。

解説

アプリケーションは、このメソッドを使用して、複雑な選択操作を実行できます。

複雑な選択操作を実行するために、 Select の呼び出し時に指定する AccessibleSelection 値を次に示します。

操作 フラグの組み合わせ
クリックのシミュレート AccessibleSelection.TakeFocus OR AccessibleSelection.TakeSelection
Ctrl + クリック操作のシミュレートによる対象項目の選択 AccessibleSelection.TakeFocus OR AccessibleSelection.AddSelection
Ctrl + クリック操作のシミュレートによる対象項目の選択のキャンセル AccessibleSelection.TakeFocus OR AccessibleSelection.RemoveSelection
Shift + クリック操作のシミュレート AccessibleSelection.TakeFocus OR AccessibleSelection.ExtendSelection
オブジェクトの範囲の選択および最後のオブジェクトへのフォーカスの設定 開始オブジェクトで AccessibleSelection.TakeFocus を指定して、選択アンカを設定します。次に、 Select を再度呼び出し、最後のオブジェクトで AccessibleSelection.TakeFocus OR AccessibleSelection.ExtendSelection を指定します。
すべてのオブジェクトの選択解除 任意のオブジェクトで AccessibleSelection.TakeSelection を指定します。このフラグは、直前に選択したオブジェクト以外の、選択されているオブジェクトすべての選択を解除します。次に、 Select を再度呼び出し、同じオブジェクトで AccessibleSelection.RemoveSelection を指定します。

継承時の注意: 選択可能なオブジェクトまたはキーボード フォーカスを受け取ることができるオブジェクトはすべて、このメソッドをサポートする必要があります。

使用例

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

[Visual Basic, C#, C++] Select メソッドをオーバーライドする例を次に示します。コード例全体については、 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 名前空間