AccessibleObject.Select(AccessibleSelection) 메서드

정의

선택을 수정하거나 액세스 가능 개체의 키보드 포커스를 이동합니다.Modifies the selection or moves the keyboard focus of the accessible object.

public:
 virtual void Select(System::Windows::Forms::AccessibleSelection flags);
public virtual void Select (System.Windows.Forms.AccessibleSelection flags);
abstract member Select : System.Windows.Forms.AccessibleSelection -> unit
override this.Select : System.Windows.Forms.AccessibleSelection -> unit
Public Overridable Sub Select (flags As AccessibleSelection)

매개 변수

flags
AccessibleSelection

AccessibleSelection 값 중 하나입니다.One of the AccessibleSelection values.

예외

선택을 수행할 수 없는 경우The selection cannot be performed.

예제

다음 예제에서는 AccessibleObjectControl.ControlAccessibleObject 클래스를 사용 하 여 액세스 가능 정보를 노출 하는 접근성 인식 차트 컨트롤을 만드는 방법을 보여 줍니다.The following example demonstrates the creation of an accessibility-aware chart control, using the AccessibleObject and Control.ControlAccessibleObject classes to expose accessible information. 컨트롤은 범례를 따라 두 곡선을 그립니다.The control plots two curves along with a legend. 합니다 ChartControlAccessibleObject 클래스에서 파생 되는 ControlAccessibleObject에 사용 되는 CreateAccessibilityInstance 차트 컨트롤에 대 한 사용자 지정 액세스할 수 있는 정보를 제공 하는 방법입니다.The ChartControlAccessibleObject class, which derives from ControlAccessibleObject, is used in the CreateAccessibilityInstance method to provide custom accessible information for the chart control. 차트 범례는 실제 Control 기반 컨트롤이 아니지만 차트 컨트롤에 의해 그려지며, 액세스 가능한 기본 제공 정보가 없습니다.Since the chart legend is not an actual Control -based control, but instead is drawn by the chart control, it does not have any built-in accessible information. 이 인해 합니다 ChartControlAccessibleObject 재정의 클래스를 GetChild 반환 하는 방법은 CurveLegendAccessibleObject 범례의 각 부분에 액세스할 수 있는 정보를 나타내는입니다.Because of this, the ChartControlAccessibleObject class overrides the GetChild method to return the CurveLegendAccessibleObject that represents accessible information for each part of the legend. 인식 액세스할 수 있는 애플리케이션에서이 컨트롤을 사용 하는 경우 컨트롤이 필요한 액세스할 수 있는 정보를 제공할 수 있습니다.When an accessible-aware application uses this control, the control can provide the necessary accessible information.

이 코드에서는 재정의 보여 줍니다.는 Select 메서드.This code demonstrates shows overriding the Select method. 참조 된 AccessibleObject 전체 코드 예제에 대 한 클래스 개요입니다.See the AccessibleObject class overview for the complete code example.

   // Inner class CurveLegendAccessibleObject represents accessible information
   // associated with the CurveLegend object.
public:
   ref class CurveLegendAccessibleObject: public AccessibleObject
   {
   private:
      CurveLegend^ curveLegend;

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


   private:

      property ChartControlAccessibleObject^ ChartControl 
      {

         // Private property that helps get the reference to the parent ChartControl.
         ChartControlAccessibleObject^ get()
         {
            return dynamic_cast<ChartControlAccessibleObject^>(Parent);
         }

      }

   internal:

      property int ID 
      {

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

            }
            return  -1;
         }

      }

   public:

      property Rectangle Bounds 
      {

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

      }

      property String^ Name 
      {

         // Gets or sets the Name for the CurveLegend. This is used by accessibility programs.
         virtual String^ get() override
         {
            return curveLegend->Name;
         }

         virtual void set( String^ value ) override
         {
            curveLegend->Name = value;
         }

      }

      property AccessibleObject^ Parent 
      {

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

      }

      property System::Windows::Forms::AccessibleRole Role 
      {

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

      }

      property AccessibleStates State 
      {

         // Gets the state based on the selection for the CurveLegend.
         // This is used by accessibility programs.
         virtual AccessibleStates get() override
         {
            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.
      virtual AccessibleObject^ Navigate( AccessibleNavigation navdir ) override
      {
         
         // 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.
      virtual void Select( AccessibleSelection selection ) override
      {
         
         // Uses the internal SelectChild helper function that exists
         // on ChartControlAccessibleObject.
         ChartControl->SelectChild( this, selection );
      }

   };
// 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);
    }
}
' 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
    
    ' 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

설명

애플리케이션이이 메서드를 사용 하 여 복잡 한 선택 작업을 수행할 수 있습니다.Applications can use this method to perform complex selection operations.

다음은 Select를 호출 하 여 복잡 한 선택 작업을 수행할 때 지정할 AccessibleSelection 값에 대해 설명 합니다.The following describes which AccessibleSelection values to specify when calling Select to perform complex selection operations.

작업(Operation)Operation 플래그 조합Flag Combination
클릭을 시뮬레이션할To simulate a click AccessibleSelection.TakeFocus OR AccessibleSelection.TakeSelection 참고: 이 조합은 사용자의 응용 프로그램 내에서 호출 된 경우 원하는 컨트롤을 선택 하지 않습니다.AccessibleSelection.TakeFocus OR AccessibleSelection.TakeSelection Note: This combination will not select the desired control if called from within your own application. 그러나 하는 경우 원하는 결과 외부 애플리케이션에서 호출 된 경우It will have the desired effect, however, if called from an external application.
CTRL + 클릭을 시뮬레이션 하 여 대상 항목 선택To select a target item by simulating CTRL + click AccessibleSelection.TakeFocus OR AccessibleSelection.AddSelectionAccessibleSelection.TakeFocus OR AccessibleSelection.AddSelection
CTRL + 클릭을 시뮬레이션 하 여 대상 항목의 선택을 취소 하려면To cancel selection of a target item by simulating CTRL + click AccessibleSelection.TakeFocus OR AccessibleSelection.RemoveSelectionAccessibleSelection.TakeFocus OR AccessibleSelection.RemoveSelection
시뮬레이션 SHIFT + 클릭To simulate SHIFT + click AccessibleSelection.TakeFocus OR AccessibleSelection.ExtendSelectionAccessibleSelection.TakeFocus OR AccessibleSelection.ExtendSelection
개체의 범위를 선택 하 여 마지막 개체에 포커스를 둡니다To select a range of objects and put focus on the last object 시작 개체에 대 한 AccessibleSelection.TakeFocus를 지정 하 여 선택 앵커를 설정 합니다.Specify AccessibleSelection.TakeFocus on the starting object to set the selection anchor. 그런 다음 Select를 다시 호출 하 고 마지막 개체에 대해 AccessibleSelection.TakeFocusORAccessibleSelection.ExtendSelection를 지정 합니다.Then call Select again and specify AccessibleSelection.TakeFocusORAccessibleSelection.ExtendSelection on the last object.
모든 개체의 선택을 취소 하려면To deselect all objects 모든 개체에 AccessibleSelection.TakeSelection을 지정 합니다.Specify AccessibleSelection.TakeSelection on any object. 이 플래그는 방금 선택한 것을 제외 하 고 선택한 개체를 모두 선택 취소 합니다.This flag deselects all selected objects except the one just selected. 그런 다음 Select를 다시 호출 하 고 동일한 개체에 대 한 AccessibleSelection.RemoveSelection를 지정 합니다.Then call Select again and specify AccessibleSelection.RemoveSelection on the same object.

상속자 참고

선택할 수 있습니다 또는 키보드 포커스를 받을 모든 개체는이 메서드를 지원 해야 합니다.All objects that can be selected or receive the keyboard focus must support this method.

적용 대상