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);
パラメータ
- flags
AccessibleSelection 値の 1 つ。
例外
例外の種類 | 条件 |
---|---|
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 名前空間