Поделиться через


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
Наследование
Control.ControlAccessibleObject
Наследование
Производный
Атрибуты

Примеры

В следующем примере кода создается элемент управления флажка, производный от 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)

Применяется к

См. также раздел