Control.ControlAccessibleObject 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供可供協助工具應用程式使用之控制項的相關資訊。
public: ref class Control::ControlAccessibleObject : System::Windows::Forms::AccessibleObject
[System.Runtime.InteropServices.ComVisible(true)]
public class Control.ControlAccessibleObject : System.Windows.Forms.AccessibleObject
public class Control.ControlAccessibleObject : System.Windows.Forms.AccessibleObject
[<System.Runtime.InteropServices.ComVisible(true)>]
type Control.ControlAccessibleObject = class
inherit AccessibleObject
type Control.ControlAccessibleObject = class
inherit AccessibleObject
Public Class Control.ControlAccessibleObject
Inherits AccessibleObject
- 繼承
- 繼承
- 衍生
- 屬性
範例
下列程式碼範例會建立衍生自 類別的 CheckBox 核取方塊控制項,並針對要使用的衍生類別建立自訂 Control.ControlAccessibleObject 。 衍生類別 MyCheckBox
預設為 Appearance 的 Button ,因此會顯示為切換按鈕。 衍生 Control.ControlAccessibleObject 類別 MyCheckBoxControlAccessibleObject
會覆寫三個屬性,以考慮外觀的差異。
#using <Accessibility.dll>
#using <System.Drawing.dll>
#using <System.dll>
#using <System.Windows.Forms.dll>
using namespace System;
using namespace System::Windows::Forms;
using namespace System::Drawing;
namespace MyCustomControls
{
public ref class MyCheckBox: public CheckBox
{
public:
MyCheckBox()
{
// Make the check box appear like a toggle button.
this->Appearance = ::Appearance::Button;
// Center the text on the button.
this->TextAlign = ContentAlignment::MiddleCenter;
// Set the AccessibleDescription text.
this->AccessibleDescription = "A toggle style button.";
}
protected:
// Create an instance of the AccessibleObject
// defined for the 'MyCheckBox' control
virtual AccessibleObject^ CreateAccessibilityInstance() override;
};
// Accessible Object* for use with the 'MyCheckBox' control.
private ref class MyCheckBoxAccessibleObject: public Control::ControlAccessibleObject
{
public:
MyCheckBoxAccessibleObject( MyCheckBox^ owner )
: ControlAccessibleObject( owner )
{}
property String^ DefaultAction
{
virtual String^ get() override
{
// Return the DefaultAction based upon
// the state of the control.
if ( (dynamic_cast<MyCheckBox^>(Owner))->Checked )
{
return "Toggle button up";
}
else
{
return "Toggle button down";
}
}
}
property String^ Name
{
virtual String^ get() override
{
// Return the Text property of the control
// if the AccessibleName is 0.
String^ name = Owner->AccessibleName;
if ( name != nullptr )
{
return name;
}
return (dynamic_cast<MyCheckBox^>(Owner))->Text;
}
virtual void set( String^ value ) override
{
ControlAccessibleObject::Name = value;
}
}
property AccessibleRole Role
{
virtual AccessibleRole get() override
{
// Since the check box appears like a button,
// make the Role the same as a button.
return AccessibleRole::PushButton;
}
}
};
AccessibleObject^ MyCheckBox::CreateAccessibilityInstance()
{
return gcnew MyCheckBoxAccessibleObject( this );
}
}
using System;
using System.Windows.Forms;
using Accessibility;
using System.Drawing;
namespace MyCustomControls
{
public class MyCheckBox : CheckBox
{
public MyCheckBox()
{
// Make the check box appear like a toggle button.
this.Appearance = Appearance.Button;
// Center the text on the button.
this.TextAlign = ContentAlignment.MiddleCenter;
// Set the AccessibleDescription text.
this.AccessibleDescription = "A toggle style button.";
}
// Create an instance of the AccessibleObject
// defined for the 'MyCheckBox' control
protected override AccessibleObject CreateAccessibilityInstance()
{
return new MyCheckBoxAccessibleObject(this);
}
}
// Accessible object for use with the 'MyCheckBox' control.
internal class MyCheckBoxAccessibleObject : Control.ControlAccessibleObject
{
public MyCheckBoxAccessibleObject(MyCheckBox owner) : base(owner)
{
}
public override string DefaultAction
{
get
{
// Return the DefaultAction based upon
// the state of the control.
if( ((MyCheckBox)Owner).Checked )
{
return "Toggle button up";
}
else
{
return "Toggle button down";
}
}
}
public override string Name
{
get
{
// Return the Text property of the control
// if the AccessibleName is null.
string name = Owner.AccessibleName;
if (name != null)
{
return name;
}
return ((MyCheckBox)Owner).Text;
}
set
{
base.Name = value;
}
}
public override AccessibleRole Role
{
get
{
// Since the check box appears like a button,
// make the Role the same as a button.
return AccessibleRole.PushButton;
}
}
}
}
Imports System.Windows.Forms
Imports Accessibility
Imports System.Drawing
Namespace MyCustomControls
Public Class MyCheckBox
Inherits CheckBox
Public Sub New()
' Make the check box appear like a toggle button.
Me.Appearance = Appearance.Button
' Center the text on the button.
Me.TextAlign = ContentAlignment.MiddleCenter
End Sub
' Create an instance of the AccessibleObject
' defined for the 'MyCheckBox' control
Protected Overrides Function CreateAccessibilityInstance() _
As AccessibleObject
Return New MyCheckBoxAccessibleObject(Me)
End Function
End Class
' Accessible object for use with the 'MyCheckBox' control.
Friend Class MyCheckBoxAccessibleObject
Inherits Control.ControlAccessibleObject
Public Sub New(owner As MyCheckBox)
MyBase.New(owner)
End Sub
Public Overrides ReadOnly Property DefaultAction() As String
Get
' Return the DefaultAction based upon
' the state of the control.
If CType(Owner, MyCheckBox).Checked Then
Return "Toggle button up"
Else
Return "Toggle button down"
End If
End Get
End Property
Public Overrides Property Name() As String
Get
' Return the Text property of the control
' if the AccessibleName is null.
Dim accessibleName As String = Owner.AccessibleName
If (accessibleName IsNot Nothing) Then
Return accessibleName
End If
Return CType(Owner, MyCheckBox).Text
End Get
Set
MyBase.Name = value
End Set
End Property
Public Overrides ReadOnly Property Role() As AccessibleRole
Get
' Since the check box appears like a button,
' make the Role the same as a button.
Return AccessibleRole.PushButton
End Get
End Property
End Class
End Namespace
備註
Windows Forms內建協助工具支援,並提供可讓您使用協助工具用戶端應用程式的應用程式相關資訊。 協助工具用戶端應用程式的範例包括:螢幕放大和檢閱者公用程式、語音輸入公用程式、螢幕鍵盤、替代輸入裝置,以及鍵盤增強公用程式。 有時候,您會想要提供協助工具用戶端應用程式的其他資訊。 提供這項額外資訊的方式有兩種。 若要為現有控制項提供有限的協助工具資訊,請設定控制項的 AccessibleName 、 AccessibleDescription 、 AccessibleDefaultActionDescription 和 AccessibleRole 屬性值,這會向協助工具用戶端應用程式回報。 或者,如果您需要將更多協助工具資訊包含在控制項中,您可以撰寫衍生自 或 Control.ControlAccessibleObject 類別的 AccessibleObject 專屬類別。 例如,如果您要撰寫不是衍生自通用控制項的控制項,或您需要控制項內的這類作業,例如點擊測試,您應該呼叫 方法來建立 Control.ControlAccessibleObject 控制項的 CreateAccessibilityInstance 。
注意
如果您覆寫 AccessibleObject.GetChild 方法,您也必須覆寫 AccessibleObject.GetChildCount 方法。 若要取得或設定 AccessibilityObject 屬性,您必須新增與 .NET Framework 一起安裝的元件參考 Accessibility
。
如需可存取物件的詳細資訊,請參閱Microsoft Active Accessibility。
建構函式
Control.ControlAccessibleObject(Control) |
初始化 Control.ControlAccessibleObject 類別的新執行個體。 |
屬性
Bounds |
取得可存取物件的位置和大小。 (繼承來源 AccessibleObject) |
DefaultAction |
取得描述物件之預設動作的字串。 並非所有的物件都有預設動作。 |
Description |
取得 Control.ControlAccessibleObject 的描述。 |
Handle |
取得或設定可存取物件的控制代碼。 |
Help |
取得物件的用途或物件使用方式的描述。 |
KeyboardShortcut |
取得可存取物件的物件快速鍵或便捷鍵 (Access Key)。 |
Name |
取得或設定可存取的物件名稱。 |
Owner |
取得可存取物件的擁有人。 |
Parent |
取得可存取之物件的父系。 |
Role |
取得這個可存取之物件的角色。 |
State |
取得這個可存取物件的狀態。 (繼承來源 AccessibleObject) |
Value |
取得或設定可存取物件的數值。 (繼承來源 AccessibleObject) |