Control.ControlAccessibleObject Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет сведения об элементе управления, который может использоваться приложением специальных возможностей.
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 для используемого производного класса. Производный класс имеет значение AppearanceButton по умолчанию, MyCheckBoxпоэтому он отображается как кнопка переключения. Производный 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, AccessibleDescriptionAccessibleDefaultActionDescriptionи AccessibleRole значения свойств, которые будут сообщаться клиентским приложениям специальных возможностей. Кроме того, если требуется включить в элемент управления дополнительные сведения о специальных возможностях, можно написать собственный класс, производный от AccessibleObject или Control.ControlAccessibleObject классов. Например, если вы пишете собственный элемент управления, который не является производным от общих элементов управления или требуется такие операции, как тестирование попаданий в элемент управления, необходимо создать Control.ControlAccessibleObject элемент управления путем вызова CreateAccessibilityInstance метода.
Замечание
При переопределении AccessibleObject.GetChild метода необходимо также переопределить AccessibleObject.GetChildCount метод. Чтобы получить или задать AccessibilityObject свойство, необходимо добавить ссылку на Accessibility сборку, установленную с помощью .NET Framework.
Дополнительные сведения о доступных объектах см. в статье Microsoft Active Accessibility.
Конструкторы
| Имя | Описание |
|---|---|
| Control.ControlAccessibleObject(Control) |
Инициализирует новый экземпляр класса Control.ControlAccessibleObject. |
Свойства
| Имя | Описание |
|---|---|
| Bounds |
Возвращает расположение и размер объекта со специальными возможностями. (Унаследовано от AccessibleObject) |
| DefaultAction |
Возвращает строку, описывающую действие по умолчанию объекта. Не все объекты имеют действие по умолчанию. |
| Description |
Возвращает описание Control.ControlAccessibleObjectобъекта . |
| Handle |
Возвращает или задает дескриптор объекта со специальными возможностями. |
| Help |
Возвращает описание того, что делает объект или как используется объект. |
| KeyboardShortcut |
Возвращает ключ ярлыка объекта или ключ доступа для объекта со специальными возможностями. |
| Name |
Возвращает или задает имя объекта со специальными возможностями. |
| Owner |
Возвращает владельца объекта со специальными возможностями. |
| Parent |
Возвращает родительский элемент объекта со специальными возможностями. |
| Role |
Возвращает роль этого объекта со специальными возможностями. |
| State |
Возвращает состояние этого объекта со специальными возможностями. (Унаследовано от AccessibleObject) |
| Value |
Возвращает или задает значение объекта со специальными возможностями. (Унаследовано от AccessibleObject) |
Методы
| Имя | Описание |
|---|---|
| CreateObjRef(Type) |
Создает объект, содержащий все соответствующие сведения, необходимые для создания прокси-сервера, используемого для взаимодействия с удаленным объектом. (Унаследовано от MarshalByRefObject) |
| DoDefaultAction() |
Выполняет действие по умолчанию, связанное с этим доступным объектом. (Унаследовано от AccessibleObject) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetChild(Int32) |
Извлекает дочерний элемент со специальным доступом, соответствующий указанному индексу. (Унаследовано от AccessibleObject) |
| GetChildCount() |
Извлекает количество дочерних объектов, принадлежащих к объекту со специальными возможностями. (Унаследовано от AccessibleObject) |
| GetFocused() |
Извлекает объект с фокусом клавиатуры. (Унаследовано от AccessibleObject) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetHelpTopic(String) |
Возвращает идентификатор раздела справки и путь к файлу справки, связанному с этим доступным объектом. |
| GetLifetimeService() |
Устаревшие..
Извлекает текущий объект службы времени существования, который управляет политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| GetSelected() |
Извлекает выбранный в данный момент дочерний элемент. (Унаследовано от AccessibleObject) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| HitTest(Int32, Int32) |
Извлекает дочерний объект в указанных координатах экрана. (Унаследовано от AccessibleObject) |
| InitializeLifetimeService() |
Устаревшие..
Получает объект службы времени существования для управления политикой времени существования для этого экземпляра. (Унаследовано от MarshalByRefObject) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MemberwiseClone(Boolean) |
Создает неглубокую копию текущего MarshalByRefObject объекта. (Унаследовано от MarshalByRefObject) |
| Navigate(AccessibleNavigation) |
Переходит к другому объекту со специальными возможностями. (Унаследовано от AccessibleObject) |
| NotifyClients(AccessibleEvents, Int32, Int32) |
Уведомляет клиентские приложения специальных возможностей, указанные для указанного AccessibleEvents дочернего элемента управления, предоставляя идентификацию AccessibleObject. |
| NotifyClients(AccessibleEvents, Int32) |
Уведомляет клиентские приложения специальных возможностей для указанного дочернего AccessibleEvents элемента управления. |
| NotifyClients(AccessibleEvents) |
Уведомляет клиентские приложения специальных возможностей указанных AccessibleEvents. |
| RaiseAutomationNotification(AutomationNotificationKind, AutomationNotificationProcessing, String) |
Вызывает событие уведомления службы автоматизации пользовательского интерфейса. (Унаследовано от AccessibleObject) |
| RaiseLiveRegionChanged() |
Вызывает событие автоматизации пользовательского интерфейса LiveRegionChanged. |
| Select(AccessibleSelection) |
Изменяет выделение или перемещает фокус клавиатуры объекта со специальными возможностями. (Унаследовано от AccessibleObject) |
| ToString() |
Возвращает строку, представляющую текущий объект. |
| UseStdAccessibleObjects(IntPtr, Int32) |
Связывает объект с экземпляром AccessibleObject на основе дескриптора и идентификатора объекта объекта. (Унаследовано от AccessibleObject) |
| UseStdAccessibleObjects(IntPtr) |
Связывает объект с экземпляром AccessibleObject объекта на основе дескриптора объекта. (Унаследовано от AccessibleObject) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IAccessible.accChildCount |
Возвращает количество дочерних интерфейсов, принадлежащих этому объекту. Описание этого элемента см. в разделе accChildCount. (Унаследовано от AccessibleObject) |
| IAccessible.accDoDefaultAction(Object) |
Выполняет действие по умолчанию указанного объекта. Не все объекты имеют действие по умолчанию. Описание этого элемента см. в разделе accDoDefaultAction(Object). (Унаследовано от AccessibleObject) |
| IAccessible.accFocus |
Получает объект с фокусом клавиатуры. Описание этого элемента см. в разделе accFocus. (Унаследовано от AccessibleObject) |
| IAccessible.accHitTest(Int32, Int32) |
Возвращает дочерний объект в указанных координатах экрана. Описание этого элемента см. в разделе accHitTest(Int32, Int32). (Унаследовано от AccessibleObject) |
| IAccessible.accLocation(Int32, Int32, Int32, Int32, Object) |
Возвращает текущее расположение экрана объекта. Описание этого элемента см. в разделе accLocation(Int32, Int32, Int32, Int32, Object). (Унаследовано от AccessibleObject) |
| IAccessible.accNavigate(Int32, Object) |
Перемещается к объекту со специальными возможностями относительно текущего объекта. Описание этого элемента см. в разделе accNavigate(Int32, Object). (Унаследовано от AccessibleObject) |
| IAccessible.accParent |
Возвращает родительский объект, доступный для этого объекта. Описание этого элемента см. в разделе accParent. (Унаследовано от AccessibleObject) |
| IAccessible.accSelect(Int32, Object) |
Изменяет выделение или перемещает фокус клавиатуры объекта со специальными возможностями. Описание этого элемента см. в разделе accSelect(Int32, Object). (Унаследовано от AccessibleObject) |
| IAccessible.accSelection |
Возвращает выбранные дочерние объекты объекта со специальными возможностями. Описание этого элемента см. в разделе accSelection. (Унаследовано от AccessibleObject) |
| IReflect.GetField(String, BindingFlags) |
Возвращает объект, соответствующий FieldInfo указанному полю и флагу привязки. Описание этого элемента см. в разделе GetField(String, BindingFlags). (Унаследовано от AccessibleObject) |
| IReflect.GetFields(BindingFlags) |
Возвращает массив FieldInfo объектов, соответствующих всем полям текущего класса. Описание этого элемента см. в разделе GetFields(BindingFlags). (Унаследовано от AccessibleObject) |
| IReflect.GetMember(String, BindingFlags) |
Возвращает массив объектов, соответствующих всем общедоступным MemberInfo элементам или всем элементам, соответствующим указанному имени. Описание этого элемента см. в разделе GetMember(String, BindingFlags). (Унаследовано от AccessibleObject) |
| IReflect.GetMembers(BindingFlags) |
Получает массив объектов, соответствующих всем общедоступным MemberInfo членам или всем членам текущего класса. Описание этого элемента см. в разделе GetMembers(BindingFlags). (Унаследовано от AccessibleObject) |
| IReflect.GetMethod(String, BindingFlags, Binder, Type[], ParameterModifier[]) |
MethodInfo Возвращает объект, соответствующий указанному методу, используя массив Type для выбора из перегруженных методов. Описание этого элемента см. в разделе GetMethod(String, BindingFlags, Binder, Type[], ParameterModifier[]). (Унаследовано от AccessibleObject) |
| IReflect.GetMethod(String, BindingFlags) |
Возвращает объект, соответствующий MethodInfo указанному методу, в соответствии с указанными ограничениями поиска. Описание этого элемента см. в разделе GetMethod(String, BindingFlags). (Унаследовано от AccessibleObject) |
| IReflect.GetMethods(BindingFlags) |
Возвращает массив объектов со всеми открытыми методами MethodInfo или всеми методами текущего класса. Описание этого элемента см. в разделе GetMethods(BindingFlags). (Унаследовано от AccessibleObject) |
| IReflect.GetProperties(BindingFlags) |
Возвращает массив PropertyInfo объектов, соответствующих всем общедоступным свойствам или всем свойствам текущего класса. Описание этого элемента см. в разделе GetProperties(BindingFlags). (Унаследовано от AccessibleObject) |
| IReflect.GetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[]) |
Возвращает объект, соответствующий PropertyInfo указанному свойству с указанными ограничениями поиска. Описание этого элемента см. в разделе GetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[]). (Унаследовано от AccessibleObject) |
| IReflect.GetProperty(String, BindingFlags) |
Возвращает объект, соответствующий PropertyInfo указанному свойству, в соответствии с указанными ограничениями поиска. Описание этого элемента см. в разделе GetProperty(String, BindingFlags). (Унаследовано от AccessibleObject) |
| IReflect.InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) |
Вызывает указанный элемент. Описание этого элемента см. в разделе InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]). (Унаследовано от AccessibleObject) |
| IReflect.UnderlyingSystemType |
Возвращает базовый тип, представляющий IReflect объект. Описание этого элемента см. в разделе UnderlyingSystemType. (Унаследовано от AccessibleObject) |