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 для используемого производного класса. Производный класс 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)

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

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