次の方法で共有


AccessibleSelection 列挙体

ユーザー補助オブジェクトの選択方法またはフォーカス取得方法を指定します。

この列挙体には、メンバ値をビットごとに演算するための FlagsAttribute 属性が含まれています。

<Flags>
<Serializable>
Public Enum AccessibleSelection
[C#]
[Flags]
[Serializable]
public enum AccessibleSelection
[C++]
[Flags]
[Serializable]
__value public enum AccessibleSelection
[JScript]
public
   Flags
 Serializable
enum AccessibleSelection

解説

フォーカスを持つオブジェクトは、キーボード入力を受け取るオブジェクトです。キーボード フォーカスを持つオブジェクトは、アクティブ ウィンドウまたはアクティブ ウィンドウの子オブジェクトのいずれかになります。選択されたオブジェクトは、特定の種類のグループ操作に参加するようにマークされます。

この列挙体は、 AccessibleObject.Select で使用されます。

ユーザー補助アプリケーションの詳細については、MSDN (Microsoft Developer Network) ライブラリの「Microsoft Active Accessibility」を参照してください。

メンバ

メンバ名 説明
AddSelection オブジェクトを選択に追加します。 8
ExtendSelection アンカと選択されたオブジェクトとの間にあるすべてのオブジェクトを選択します。 4
None オブジェクトの選択またはフォーカスは変更されません。 0
RemoveSelection オブジェクトを選択から除外します。 16
TakeFocus オブジェクトにフォーカスを割り当て、そのオブジェクトを選択の開始点であるアンカにします。 TakeSelectionExtendSelectionAddSelection 、または RemoveSelection と組み合わせることができます。 1
TakeSelection オブジェクトを選択し、コンテナ内の他のオブジェクトすべての選択を解除します。 2

使用例

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

[Visual Basic, C#, C++] Select メソッドで AccessibleSelection 列挙体を使用する例を次に示します。コード例全体については、 AccessibleObject クラスの概要を参照してください。

 
' Inner Class ChartControlAccessibleObject represents accessible information 
' associated with the ChartControl.
' The ChartControlAccessibleObject is returned in the         ' ChartControl.CreateAccessibilityInstance override.
Public Class ChartControlAccessibleObject
    Inherits Control.ControlAccessibleObject

    Private chartControl As ChartControl
    
    Public Sub New(ctrl As ChartControl)
        MyBase.New(ctrl)
        chartControl = ctrl
    End Sub 'New
    
    ' Get the role for the Chart. This is used by accessibility programs.            
    Public Overrides ReadOnly Property Role() As AccessibleRole
        Get
            Return System.Windows.Forms.AccessibleRole.Chart
        End Get
    End Property
    
    ' Get the state for the Chart. This is used by accessibility programs.            
    Public Overrides ReadOnly Property State() As AccessibleStates
        Get
            Return AccessibleStates.ReadOnly
        End Get
    End Property                        
    
    ' The CurveLegend objects are "child" controls in terms of accessibility so 
    ' return the number of ChartLengend objects.            
    Public Overrides Function GetChildCount() As Integer
        Return chartControl.Legends.Length
    End Function 
    
    ' Get the Accessibility object of the child CurveLegend idetified by index.
    Public Overrides Function GetChild(index As Integer) As AccessibleObject
        If index >= 0 And index < chartControl.Legends.Length Then
            Return chartControl.Legends(index).AccessibilityObject
        End If
        Return Nothing
    End Function 
    
    ' Helper function that is used by the CurveLegend's accessibility object
    ' to navigate between sibiling controls. Specifically, this function is used in
    ' the CurveLegend.CurveLegendAccessibleObject.Navigate function.
    Friend Function NavigateFromChild(child As CurveLegend.CurveLegendAccessibleObject, _
                                    navdir As AccessibleNavigation) As AccessibleObject
        Select Case navdir
            Case AccessibleNavigation.Down, AccessibleNavigation.Next
                    Return GetChild(child.ID + 1)
            
            Case AccessibleNavigation.Up, AccessibleNavigation.Previous
                    Return GetChild(child.ID - 1)
        End Select
        Return Nothing
    End Function            

    ' Helper function that is used by the CurveLegend's accessibility object
    ' to select a specific CurveLegend control. Specifically, this function is used 
    ' in the CurveLegend.CurveLegendAccessibleObject.Select function.            
    Friend Sub SelectChild(child As CurveLegend.CurveLegendAccessibleObject, selection As AccessibleSelection)
        Dim childID As Integer = child.ID
        
        ' Determine which selection action should occur, based on the
        ' AccessibleSelection value.
        If (selection And AccessibleSelection.TakeSelection) <> 0 Then
            Dim i As Integer
            For i = 0 To chartControl.Legends.Length - 1
                If i = childID Then
                    chartControl.Legends(i).Selected = True
                Else
                    chartControl.Legends(i).Selected = False
                End If
            Next i
            
            ' AccessibleSelection.AddSelection means that the CurveLegend will be selected.
            If (selection And AccessibleSelection.AddSelection) <> 0 Then
                chartControl.Legends(childID).Selected = True
            End If

            ' AccessibleSelection.AddSelection means that the CurveLegend will be unselected.                    
            If (selection And AccessibleSelection.RemoveSelection) <> 0 Then
                chartControl.Legends(childID).Selected = False
            End If
        End If
    End Sub 'SelectChild
End Class 'ChartControlAccessibleObject

[C#] 
// Inner class ChartControlAccessibleObject represents accessible information associated with the ChartControl.
// The ChartControlAccessibleObject is returned in the ChartControl.CreateAccessibilityInstance override.
public class ChartControlAccessibleObject : ControlAccessibleObject
{
    ChartControl chartControl;

    public ChartControlAccessibleObject(ChartControl ctrl) : base(ctrl) 
    {
        chartControl = ctrl;
    }

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

    // Gets the state for the Chart. This is used by accessibility programs.
    public override AccessibleStates State
    {  
        get {                    
            return AccessibleStates.ReadOnly;
        }
    }

    // The CurveLegend objects are "child" controls in terms of accessibility so 
    // return the number of ChartLengend objects.
    public override int GetChildCount()
    {  
        return chartControl.Legends.Length;
    }

    // Gets the Accessibility object of the child CurveLegend idetified by index.
    public override AccessibleObject GetChild(int index)
    {  
        if (index >= 0 && index < chartControl.Legends.Length) {
            return chartControl.Legends[index].AccessibilityObject;
        }                
        return null;
    }

    // Helper function that is used by the CurveLegend's accessibility object
    // to navigate between sibiling controls. Specifically, this function is used in
    // the CurveLegend.CurveLegendAccessibleObject.Navigate function.
    internal AccessibleObject NavigateFromChild(CurveLegend.CurveLegendAccessibleObject child, 
                                                AccessibleNavigation navdir) 
    {  
        switch(navdir) {
            case AccessibleNavigation.Down:
            case AccessibleNavigation.Next:
                return GetChild(child.ID + 1);
                
            case AccessibleNavigation.Up:
            case AccessibleNavigation.Previous:
                return GetChild(child.ID - 1);                        
        }
        return null;
    }

    // Helper function that is used by the CurveLegend's accessibility object
    // to select a specific CurveLegend control. Specifically, this function is used
    // in the CurveLegend.CurveLegendAccessibleObject.Select function.
    internal void SelectChild(CurveLegend.CurveLegendAccessibleObject child, AccessibleSelection selection) 
    {   
        int childID = child.ID;

        // Determine which selection action should occur, based on the
        // AccessibleSelection value.
        if ((selection & AccessibleSelection.TakeSelection) != 0) {
            for(int i = 0; i < chartControl.Legends.Length; i++) {
                if (i == childID) {
                    chartControl.Legends[i].Selected = true;                        
                } else {
                    chartControl.Legends[i].Selected = false;
                }
            }

            // AccessibleSelection.AddSelection means that the CurveLegend will be selected.
            if ((selection & AccessibleSelection.AddSelection) != 0) {
                chartControl.Legends[childID].Selected = true;                        
            }

            // AccessibleSelection.AddSelection means that the CurveLegend will be unselected.
            if ((selection & AccessibleSelection.RemoveSelection) != 0) {
                chartControl.Legends[childID].Selected = false;                        
            }
        }            
    }
}

[C++] 
// Inner class ChartControlAccessibleObject represents accessible information associated with the ChartControl.
// The ChartControlAccessibleObject is returned in the ChartControl::CreateAccessibilityInstance .
__gc class ChartControlAccessibleObject : public ControlAccessibleObject {
   ChartControl* chartControl;

public:
   ChartControlAccessibleObject(ChartControl* ctrl) : ControlAccessibleObject (ctrl) {
      chartControl = ctrl;
   }

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

   // Gets the state for the Chart. This is used by accessibility programs.
   __property AccessibleStates get_State() {
      return AccessibleStates::ReadOnly;
   }

   // The CurveLegend objects are "child" controls in terms of accessibility so
   // return the number of ChartLengend objects.
   int GetChildCount() {
      return chartControl->Legends->Length;
   }

   // Gets the Accessibility object of the child CurveLegend idetified by index.
   AccessibleObject* GetChild(int index) {
      if (index >= 0 && index < chartControl->Legends->Length) {
         return chartControl->Legends[index]->AccessibilityObject;
      }
      return 0;
   }

   // Helper function that is used by the CurveLegend's accessibility object
   // to navigate between sibiling controls. Specifically, this function is used in
   // the CurveLegend::CurveLegendAccessibleObject.Navigate function.
public private:
   AccessibleObject* NavigateFromChild(CurveLegend::CurveLegendAccessibleObject* child,
      AccessibleNavigation navdir) {
         switch(navdir) {
                 case AccessibleNavigation::Down:
                 case AccessibleNavigation::Next:
                    return GetChild(child->ID + 1);

                 case AccessibleNavigation::Up:
                 case AccessibleNavigation::Previous:
                    return GetChild(child->ID - 1);
         }
         return 0;
      }

      // Helper function that is used by the CurveLegend's accessibility object
      // to select a specific CurveLegend control. Specifically, this function is used
      // in the CurveLegend::CurveLegendAccessibleObject.Select function.
      void SelectChild(CurveLegend::CurveLegendAccessibleObject* child, AccessibleSelection selection) {
         int childID = child->ID;

         // Determine which selection action should occur, based on the
         // AccessibleSelection value.
         if ((selection & AccessibleSelection::TakeSelection) != 0) {
            for (int i = 0; i < chartControl->Legends->Length; i++) {
               if (i == childID) {
                  chartControl->Legends[i]->Selected = true;
               } else {
                  chartControl->Legends[i]->Selected = false;
               }
            }

            // AccessibleSelection->AddSelection means that the CurveLegend will be selected.
            if ((selection & AccessibleSelection::AddSelection) != 0) {
               chartControl->Legends[childID]->Selected = true;
            }

            // AccessibleSelection->AddSelection means that the CurveLegend will be unselected.
            if ((selection & AccessibleSelection::RemoveSelection) != 0) {
               chartControl->Legends[childID]->Selected = false;
            }
         }
      }
}; // class ChartControlAccessibleObject

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Windows.Forms

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)

参照

System.Windows.Forms 名前空間 | AccessibleEvents | AccessibleNavigation | AccessibleObject | AccessibleRole | AccessibleStates