Прочитать на английском

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


AccessibleSelection Перечисление

Определение

Указывает, как происходит выделение доступного объекта или как он получает фокус.

Это перечисление поддерживает побитовую комбинацию значений его членов.

[System.Flags]
public enum AccessibleSelection
Наследование
AccessibleSelection
Атрибуты

Поля

Имя Значение Описание
AddSelection 8

Добавляет объект выделению.

ExtendSelection 4

Выделяет все объекты между точкой привязки и выделенным объектом.

None 0

Выделение или фокус объекта не изменяется.

RemoveSelection 16

Удаляет объект из выделения.

TakeFocus 1

Присваивает объекту фокус и делает его точкой привязки, которая является начальной точкой для выделения. Допускается использовать вместе с TakeSelection, ExtendSelection, AddSelection или RemoveSelection.

TakeSelection 2

Выделяет объект и отменяет выделение всех объектов в контейнере.

Примеры

В следующем примере кода показано создание элемента управления диаграммы с поддержкой специальных возможностей, использующий AccessibleObject классы и Control.ControlAccessibleObject для предоставления доступных сведений. Элемент управления отображает две кривые вместе с условным обозначениям. Класс ChartControlAccessibleObject , производный от ControlAccessibleObject, используется в методе CreateAccessibilityInstance для предоставления пользовательских доступных сведений для элемента управления диаграммы. Так как легенда диаграммы не является фактическим Control элементом управления, а рисуется с помощью элемента управления диаграммы, в ней нет встроенных доступных сведений. По этой ChartControlAccessibleObject причине класс переопределяет GetChild метод для возврата CurveLegendAccessibleObject , который представляет доступную информацию для каждой части условных обозначений. Если приложение, поддерживающее доступ, использует этот элемент управления, элемент управления может предоставить необходимую доступную информацию.

В этом примере демонстрируется использование перечисления AccessibleSelection с методом Select . Полный AccessibleObject пример кода см. в обзоре класса.

// Inner class ChartControlAccessibleObject represents accessible information associated with the ChartControl.
// The ChartControlAccessibleObject is returned in the ChartControl.CreateAccessibilityInstance override.
public class ChartControlAccessibleObject : ControlAccessibleObject
{
    ChartControl chartControl;

    public ChartControlAccessibleObject(ChartControl ctrl) : base(ctrl) 
    {
        chartControl = ctrl;
    }

    // Gets the role for the Chart. This is used by accessibility programs.
    public override AccessibleRole Role
    {  
        get {
            return AccessibleRole.Chart;
        }
    }

    // Gets the state for the Chart. This is used by accessibility programs.
    public override AccessibleStates State
    {  
        get {                    
            return AccessibleStates.ReadOnly;
        }
    }

    // The CurveLegend objects are "child" controls in terms of accessibility so 
    // return the number of ChartLengend objects.
    public override int GetChildCount()
    {  
        return chartControl.Legends.Length;
    }

    // Gets the Accessibility object of the child CurveLegend idetified by index.
    public override AccessibleObject GetChild(int index)
    {  
        if (index >= 0 && index < chartControl.Legends.Length) {
            return chartControl.Legends[index].AccessibilityObject;
        }                
        return null;
    }

    // Helper function that is used by the CurveLegend's accessibility object
    // to navigate between sibiling controls. Specifically, this function is used in
    // the CurveLegend.CurveLegendAccessibleObject.Navigate function.
    internal AccessibleObject NavigateFromChild(CurveLegend.CurveLegendAccessibleObject child, 
                                                AccessibleNavigation navdir) 
    {  
        switch(navdir) {
            case AccessibleNavigation.Down:
            case AccessibleNavigation.Next:
                return GetChild(child.ID + 1);
                
            case AccessibleNavigation.Up:
            case AccessibleNavigation.Previous:
                return GetChild(child.ID - 1);                        
        }
        return null;
    }

    // Helper function that is used by the CurveLegend's accessibility object
    // to select a specific CurveLegend control. Specifically, this function is used
    // in the CurveLegend.CurveLegendAccessibleObject.Select function.
    internal void SelectChild(CurveLegend.CurveLegendAccessibleObject child, AccessibleSelection selection) 
    {   
        int childID = child.ID;

        // Determine which selection action should occur, based on the
        // AccessibleSelection value.
        if ((selection & AccessibleSelection.TakeSelection) != 0) {
            for(int i = 0; i < chartControl.Legends.Length; i++) {
                if (i == childID) {
                    chartControl.Legends[i].Selected = true;                        
                } else {
                    chartControl.Legends[i].Selected = false;
                }
            }

            // AccessibleSelection.AddSelection means that the CurveLegend will be selected.
            if ((selection & AccessibleSelection.AddSelection) != 0) {
                chartControl.Legends[childID].Selected = true;                        
            }

            // AccessibleSelection.AddSelection means that the CurveLegend will be unselected.
            if ((selection & AccessibleSelection.RemoveSelection) != 0) {
                chartControl.Legends[childID].Selected = false;                        
            }
        }            
    }
}

Комментарии

Объект с фокусом — это объект, который получает ввод с клавиатуры. Объект с фокусом клавиатуры является активным окном или дочерним объектом активного окна. Выбранный объект помечается для участия в операции группы определенного типа.

Это перечисление используется AccessibleObject.Select.

Дополнительные сведения о приложении специальных возможностей можно найти по слову "Майкрософт активные специальные возможности" в библиотеке Майкрософт Developer Network (MSDN).

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

Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

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