AccessibleObject.Select(AccessibleSelection) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
선택 영역을 수정하거나 접근성 있는 개체의 키보드 포커스를 이동합니다.
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 값 중 하나입니다.
예외
선택을 수행할 수 없습니다.
예제
다음 예제에서는 AccessibleObject 및 Control.ControlAccessibleObject 클래스를 사용하여 접근성 인식 차트 컨트롤을 만들어 접근성 정보를 노출하는 방법을 보여 줍니다. 컨트롤은 범례와 함께 두 개의 곡선을 그어 옵니다.
ControlAccessibleObject
파생되는 ChartControlAccessibleObject
클래스는 CreateAccessibilityInstance 메서드에서 차트 컨트롤에 대한 사용자 지정 액세스 가능한 정보를 제공하는 데 사용됩니다. 차트 범례는 실제 Control -based 컨트롤이 아니라 차트 컨트롤에 의해 그려지므로 기본 제공 액세스 가능한 정보가 없습니다. 이 때문에 ChartControlAccessibleObject
클래스는 범례의 각 부분에 대해 액세스 가능한 정보를 나타내는 CurveLegendAccessibleObject
반환하도록 GetChild 메서드를 재정의합니다. 액세스 가능 인식 애플리케이션이 이 컨트롤을 사용하는 경우 컨트롤은 필요한 액세스 가능한 정보를 제공할 수 있습니다.
이 코드는 Select 메서드 재정의를 보여 줍니다. 전체 코드 예제는 AccessibleObject 클래스 개요를 참조하세요.
// 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
설명
애플리케이션은 이 메서드를 사용하여 복잡한 선택 작업을 수행할 수 있습니다.
다음은 복잡한 선택 작업을 수행하기 위해 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.TakeFocusOR AccessibleSelection.ExtendSelection 지정합니다. |
모든 개체의 선택을 취소하려면 | 모든 개체에 AccessibleSelection.TakeSelection 지정합니다. 이 플래그는 방금 선택한 개체를 제외한 선택한 모든 개체의 선택을 취소합니다. 그런 다음 Select 다시 호출하고 동일한 개체에 AccessibleSelection.RemoveSelection 지정합니다. |
상속자 참고
키보드 포커스를 선택하거나 받을 수 있는 모든 개체는 이 메서드를 지원해야 합니다.
적용 대상
.NET