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 для используемого производного класса. Производный класс 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 имеет встроенную поддержку специальных возможностей и предоставляет сведения о приложении, которое позволяет ему работать с клиентскими приложениями со специальными возможностями. Примерами клиентских приложений специальных возможностей являются служебные программы увеличения экрана и рецензентов, служебные программы голосового ввода, экранные клавиатуры, альтернативные устройства ввода и служебные программы улучшения клавиатуры. Иногда требуется предоставить дополнительные сведения клиентским приложениям со специальными возможностями. Существует два способа предоставления этой дополнительной информации. Чтобы предоставить ограниченные сведения о специальных возможностях для существующих элементов управления, задайте значения свойств и AccessibleRole элементов управленияAccessibleDefaultActionDescriptionAccessibleNameAccessibleDescription, которые будут сообщаться клиентским приложениям со специальными возможностями. Кроме того, если требуется включить дополнительные сведения о специальных возможностях в элемент управления, можно написать собственный класс, производный от AccessibleObject класса или Control.ControlAccessibleObject классов. Например, если вы пишете собственный элемент управления, который не является производным от общих элементов управления или требуется такие операции, как тестирование нажатия в элементе управления, необходимо создать Control.ControlAccessibleObject элемент управления путем вызова CreateAccessibilityInstance метода.
Примечание
При переопределении AccessibleObject.GetChild метода необходимо также переопределить AccessibleObject.GetChildCount метод. Чтобы получить или задать AccessibilityObject свойство, необходимо добавить ссылку на сборкуAccessibility
, установленную с платформа .NET Framework.
Дополнительные сведения об объектах со специальными возможностями см. в статье "Специальные возможности Microsoft Active".
Конструкторы
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) |
Сообщает клиентским приложениям со специальными возможностями об указанных событиях AccessibleEvents. |
NotifyClients(AccessibleEvents, Int32) |
Уведомляет клиентские приложения со специальными возможностями об указанном перечислении AccessibleEvents для указанного дочернего элемента управления. |
NotifyClients(AccessibleEvents, Int32, Int32) |
Уведомляет клиентские приложения со специальными возможностями об указанном перечислении AccessibleEvents для указанного дочернего элемента управления, предоставляя идентификацию объекта AccessibleObject. |
RaiseAutomationNotification(AutomationNotificationKind, AutomationNotificationProcessing, String) |
Вызывает событие уведомления автоматизации пользовательского интерфейса. (Унаследовано от AccessibleObject) |
RaiseLiveRegionChanged() |
Вызывает событие автоматизации пользовательского интерфейса LiveRegionChanged. |
RaiseLiveRegionChanged() |
Вызывает событие автоматизации пользовательского интерфейса LiveRegionChanged. (Унаследовано от AccessibleObject) |
Select(AccessibleSelection) |
Изменяет выделение или перемещает фокус ввода объекта со специальными возможностями. (Унаследовано от AccessibleObject) |
ToString() |
Возвращает строку, представляющую текущий объект. |
UseStdAccessibleObjects(IntPtr) |
Сопоставляет объект с экземпляром объекта AccessibleObject на основании дескриптора объекта. (Унаследовано от AccessibleObject) |
UseStdAccessibleObjects(IntPtr, Int32) |
Сопоставляет объект с экземпляром объекта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) |
Получает объект MethodInfo, соответствующий заданному методу при заданных ограничениях поиска. Описание этого члена см. в разделе GetMethod(String, BindingFlags). (Унаследовано от AccessibleObject) |
IReflect.GetMethod(String, BindingFlags, Binder, Type[], ParameterModifier[]) |
Получает объект MethodInfo, соответствующий заданному методу, используя для выбора среди перегруженных версий метода массив Type. Описание этого члена см. в разделе GetMethod(String, BindingFlags, Binder, Type[], ParameterModifier[]). (Унаследовано от AccessibleObject) |
IReflect.GetMethods(BindingFlags) |
Получает массив объектов MethodInfo со всеми открытыми методами или всеми методами текущего класса. Описание этого члена см. в разделе GetMethods(BindingFlags). (Унаследовано от AccessibleObject) |
IReflect.GetProperties(BindingFlags) |
Получает массив объектов PropertyInfo, соответствующих всем открытым свойствам или всем свойствам текущего класса. Описание этого члена см. в разделе GetProperties(BindingFlags). (Унаследовано от AccessibleObject) |
IReflect.GetProperty(String, BindingFlags) |
Получает объект PropertyInfo, соответствующий заданному свойству при заданных ограничениях поиска. Описание этого члена см. в разделе GetProperty(String, BindingFlags). (Унаследовано от AccessibleObject) |
IReflect.GetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[]) |
Получает объект PropertyInfo, соответствующий заданному свойству при заданных ограничениях поиска. Описание этого члена см. в разделе GetProperty(String, BindingFlags, Binder, Type, Type[], ParameterModifier[]). (Унаследовано от 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) |