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

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


AccessibleObject.Name Свойство

Определение

Получает или задает имя объекта.

public virtual string Name { get; set; }
public virtual string? Name { get; set; }

Значение свойства

Имя объекта или значение null, если свойство не было задано.

Исключения

Не удалось получить или задать имя элемента управления.

Примеры

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

В этом фрагменте кода показано переопределение Name свойства . Полный AccessibleObject пример кода см. в обзоре класса.

// Inner class CurveLegendAccessibleObject represents accessible information 
// associated with the CurveLegend object.
public class CurveLegendAccessibleObject : AccessibleObject
{
    private CurveLegend curveLegend;

    public CurveLegendAccessibleObject(CurveLegend curveLegend) : base() 
    {
        this.curveLegend = curveLegend;                    
    }                

    // Private property that helps get the reference to the parent ChartControl.
    private ChartControlAccessibleObject ChartControl
    {   
        get {
            return Parent as ChartControlAccessibleObject;
        }
    }

    // Internal helper function that returns the ID for this CurveLegend.
    internal int ID
    {
        get {
            for(int i = 0; i < ChartControl.GetChildCount(); i++) {
                if (ChartControl.GetChild(i) == this) {
                    return i;
                }
            }
            return -1;
        }
    }

    // Gets the Bounds for the CurveLegend. This is used by accessibility programs.
    public override Rectangle Bounds
    {
        get {                        
            // The bounds is in screen coordinates.
            Point loc = curveLegend.Location;
            return new Rectangle(curveLegend.chart.PointToScreen(loc), curveLegend.Size);
        }
    }

    // Gets or sets the Name for the CurveLegend. This is used by accessibility programs.
    public override string Name
    {
        get {
            return curveLegend.Name;
        }
        set {
            curveLegend.Name = value;                        
        }
    }

    // Gets the Curve Legend Parent's Accessible object.
    // This is used by accessibility programs.
    public override AccessibleObject Parent
    {
        get {
            return curveLegend.chart.AccessibilityObject;
        }
    }

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

    // Gets the state based on the selection for the CurveLegend. 
    // This is used by accessibility programs.
    public override AccessibleStates State 
    {
        get {
            AccessibleStates state = AccessibleStates.Selectable;
            if (curveLegend.Selected) 
            {
                state |= AccessibleStates.Selected;
            }
            return state;
        }
    }

    // Navigates through siblings of this CurveLegend. This is used by accessibility programs.
    public override AccessibleObject Navigate(AccessibleNavigation navdir) 
    {
        // Uses the internal NavigateFromChild helper function that exists
        // on ChartControlAccessibleObject.
        return ChartControl.NavigateFromChild(this, navdir);
    }

    // Selects or unselects this CurveLegend. This is used by accessibility programs.
    public override void Select(AccessibleSelection selection) 
    {
        // Uses the internal SelectChild helper function that exists
        // on ChartControlAccessibleObject.
        ChartControl.SelectChild(this, selection);
    }
}

Комментарии

Свойство Name — это строка, используемая клиентами для идентификации, поиска или объявления объекта для пользователя. Чтобы получить доступ к имени дочернего объекта, необходимо сначала вызвать GetChild с индексом дочернего объекта, имя которого извлекаемого.

Примечания для тех, кто наследует этот метод

Все объекты должны поддерживать это свойство. Имя объекта должно быть интуитивно понятным, чтобы пользователи понимали значение или назначение объекта. Кроме того, убедитесь, что Name свойство уникально относительно всех одноуровневых объектов в родительском объекте. Навигация по таблицам представляет собой особенно сложные проблемы для некоторых пользователей. Поэтому разработчикам серверов следует сделать имена ячеек таблиц максимально описательными. Например, можно создать имя ячейки, объединив имена строки и столбца, которые она занимает, например "A1". Однако, как правило, лучше использовать более описательные имена, такие как "Карин, февраль". Многие объекты, такие как значки, меню, поля проверка, поля со списком и другие элементы управления, имеют метки, отображаемые для пользователей. Для свойства объекта следует использовать любую метку, отображаемую Name пользователями. Дополнительные сведения см. в Name разделе Свойство.

Если для свойства используется текст Name меню или кнопки, удалите амперсанды (&), которые помечают клавиши доступа клавиатуры.

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

Продукт Версии
.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, 10

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