AccessibleObject.Name Свойство
Определение
Получает или задает имя объекта.Gets or sets the object name.
public:
virtual property System::String ^ Name { System::String ^ get(); void set(System::String ^ value); };
public virtual string? Name { get; set; }
public virtual string Name { get; set; }
member this.Name : string with get, set
Public Overridable Property Name As String
Значение свойства
Имя объекта или значение null
, если свойство не было задано.The object name, or null
if the property has not been set.
Исключения
Не удалось получить или задать имя элемента управления.The name of the control cannot be retrieved or set.
Примеры
В следующем примере демонстрируется создание элемента управления диаграммы с поддержкой специальных возможностей с помощью AccessibleObject классов и Control.ControlAccessibleObject для предоставления доступной информации.The following example demonstrates the creation of an accessibility-aware chart control, using the AccessibleObject and Control.ControlAccessibleObject classes to expose accessible information. Элемент управления отображает две кривые вместе с условными обозначениями.The control plots two curves along with a legend. ChartControlAccessibleObject
Класс, производный от ControlAccessibleObject
, используется в CreateAccessibilityInstance методе для предоставления настраиваемой информации, доступной для элемента управления диаграммы.The ChartControlAccessibleObject
class, which derives from ControlAccessibleObject
, is used in the CreateAccessibilityInstance method to provide custom accessible information for the chart control. Поскольку условные обозначения диаграммы не являются реальным Control элементом управления, а обрисованы элементом управления диаграммы, у него нет встроенных доступных сведений.Since the chart legend is not an actual Control -based control, but instead is drawn by the chart control, it does not have any built-in accessible information. Поэтому ChartControlAccessibleObject
класс переопределяет GetChild метод для возврата CurveLegendAccessibleObject
, который представляет доступную информацию для каждой части условных обозначений.Because of this, the ChartControlAccessibleObject
class overrides the GetChild method to return the CurveLegendAccessibleObject
that represents accessible information for each part of the legend. Если приложение, поддерживающее доступ, использует этот элемент управления, элемент управления может предоставить необходимые сведения о специальных возможностях.When an accessible-aware application uses this control, the control can provide the necessary accessible information.
Этот фрагмент кода демонстрирует переопределение Name Свойства.This code excerpt demonstrates overriding the Name property. AccessibleObjectПолный пример кода см. в обзоре класса.See the AccessibleObject class overview for the complete code example.
// Inner class CurveLegendAccessibleObject represents accessible information
// associated with the CurveLegend object.
public:
ref class CurveLegendAccessibleObject: public AccessibleObject
{
private:
CurveLegend^ curveLegend;
public:
CurveLegendAccessibleObject( CurveLegend^ curveLegend )
: AccessibleObject()
{
this->curveLegend = curveLegend;
}
private:
property ChartControlAccessibleObject^ ChartControl
{
// Private property that helps get the reference to the parent ChartControl.
ChartControlAccessibleObject^ get()
{
return dynamic_cast<ChartControlAccessibleObject^>(Parent);
}
}
internal:
property int ID
{
// Internal helper function that returns the ID for this CurveLegend.
int get()
{
for ( int i = 0; i < ChartControl->GetChildCount(); i++ )
{
if ( ChartControl->GetChild( i ) == this )
{
return i;
}
}
return -1;
}
}
public:
property Rectangle Bounds
{
// Gets the Bounds for the CurveLegend. This is used by accessibility programs.
virtual Rectangle get() override
{
// The bounds is in screen coordinates.
Point loc = curveLegend->Location;
return Rectangle(curveLegend->chart->PointToScreen( loc ),curveLegend->Size);
}
}
property String^ Name
{
// Gets or sets the Name for the CurveLegend. This is used by accessibility programs.
virtual String^ get() override
{
return curveLegend->Name;
}
virtual void set( String^ value ) override
{
curveLegend->Name = value;
}
}
property AccessibleObject^ Parent
{
// Gets the Curve Legend Parent's Accessible object.
// This is used by accessibility programs.
virtual AccessibleObject^ get() override
{
return curveLegend->chart->AccessibilityObject;
}
}
property System::Windows::Forms::AccessibleRole Role
{
// Gets the role for the CurveLegend. This is used by accessibility programs.
virtual System::Windows::Forms::AccessibleRole get() override
{
return ::AccessibleRole::StaticText;
}
}
property AccessibleStates State
{
// Gets the state based on the selection for the CurveLegend.
// This is used by accessibility programs.
virtual AccessibleStates get() override
{
AccessibleStates state = AccessibleStates::Selectable;
if ( curveLegend->Selected )
{
state = static_cast<AccessibleStates>(state | AccessibleStates::Selected);
}
return state;
}
}
// Navigates through siblings of this CurveLegend. This is used by accessibility programs.
virtual AccessibleObject^ Navigate( AccessibleNavigation navdir ) override
{
// 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.
virtual void Select( AccessibleSelection selection ) override
{
// Uses the internal SelectChild helper function that exists
// on ChartControlAccessibleObject.
ChartControl->SelectChild( this, selection );
}
};
// 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);
}
}
' Inner class CurveLegendAccessibleObject represents accessible information
' associated with the CurveLegend object.
Public Class CurveLegendAccessibleObject
Inherits AccessibleObject
Private curveLegend As CurveLegend
Public Sub New(curveLegend As CurveLegend)
Me.curveLegend = curveLegend
End Sub
' Private property that helps get the reference to the parent ChartControl.
Private ReadOnly Property ChartControl() As ChartControlAccessibleObject
Get
Return CType(Parent, ChartControlAccessibleObject)
End Get
End Property
' Friend helper function that returns the ID for this CurveLegend.
Friend ReadOnly Property ID() As Integer
Get
Dim i As Integer
For i = 0 To (ChartControl.GetChildCount()) - 1
If ChartControl.GetChild(i) Is Me Then
Return i
End If
Next i
Return - 1
End Get
End Property
' Gets the Bounds for the CurveLegend. This is used by accessibility programs.
Public Overrides ReadOnly Property Bounds() As Rectangle
Get
' The bounds is in screen coordinates.
Dim loc As Point = curveLegend.Location
Return New Rectangle(curveLegend.chart.PointToScreen(loc), curveLegend.Size)
End Get
End Property
' Gets or sets the Name for the CurveLegend. This is used by accessibility programs.
Public Overrides Property Name() As String
Get
Return curveLegend.Name
End Get
Set
curveLegend.Name = value
End Set
End Property
' Gets the Curve Legend Parent's Accessible object.
' This is used by accessibility programs.
Public Overrides ReadOnly Property Parent() As AccessibleObject
Get
Return curveLegend.chart.AccessibilityObject
End Get
End Property
' Gets the role for the CurveLegend. This is used by accessibility programs.
Public Overrides ReadOnly Property Role() As AccessibleRole
Get
Return System.Windows.Forms.AccessibleRole.StaticText
End Get
End Property
' Gets the state based on the selection for the CurveLegend.
' This is used by accessibility programs.
Public Overrides ReadOnly Property State() As AccessibleStates
Get
Dim stateTemp As AccessibleStates = AccessibleStates.Selectable
If curveLegend.Selected Then
stateTemp = stateTemp Or AccessibleStates.Selected
End If
Return stateTemp
End Get
End Property
' Navigates through siblings of this CurveLegend. This is used by accessibility programs.
Public Overrides Function Navigate(navdir As AccessibleNavigation) As AccessibleObject
' Use the Friend NavigateFromChild helper function that exists
' on ChartControlAccessibleObject.
Return ChartControl.NavigateFromChild(Me, navdir)
End Function
' Selects or unselects this CurveLegend. This is used by accessibility programs.
Public Overrides Sub [Select](selection As AccessibleSelection)
' Use the internal SelectChild helper function that exists
' on ChartControlAccessibleObject.
ChartControl.SelectChild(Me, selection)
End Sub
End Class
Комментарии
NameСвойство — это строка, используемая клиентами для определения, поиска или объявления объекта для пользователя.The Name property is a string used by clients to identify, find, or announce an object for the user. Чтобы получить доступ к имени дочернего объекта, сначала необходимо вызвать GetChild с индексом дочернего элемента, имя которого извлекается.To access the name of a child object, you must first call GetChild with the index of the child whose name you are retrieving.
Примечания для тех, кто наследует этот метод
Все объекты должны поддерживать это свойство.All objects should support this property. Имя объекта должно быть интуитивно понятным, чтобы пользователи понимали значение или назначение объекта.An object's name should be intuitive so that users understand the object's meaning or purpose. Кроме того, убедитесь, что Name
свойство является уникальным относительно любого родственного объекта в родительском объекте.Also, ensure that the Name
property is unique relative to any sibling objects in the parent. Переходы между таблицами представляют собой особенно сложные проблемы некоторых пользователей.Navigation within tables presents especially difficult problems for some users. Таким образом, разработчики сервера должны сделать имена ячеек таблицы как можно более описательными.Therefore, server developers should make table cell names as descriptive as possible. Например, можно создать имя ячейки, объединив имена строки и столбца, которые она занимает, например a1.For example, you might create a cell name by combining the names of the row and column it occupies, such as "A1." Однако обычно лучше использовать более описательные имена, например "Карин, Февраль".However, it is generally better to use more descriptive names, such as "Karin, February." Многие объекты, такие как значки, меню, флажки, поля со списками и другие элементы управления, имеют метки, отображаемые пользователям.Many objects, such as icons, menus, check boxes, combo boxes, and other controls, have labels that are displayed to users. Любую метку, отображаемую для пользователей, следует использовать для Name свойства объекта.Any label displayed to users should be used for the object's Name property. Дополнительные сведения см. в описании Name Свойства.For more information, see the Name Property.
Если для свойства используется текст меню или кнопки, удалите Name амперсанды ( & ), которые отмечают клавиши доступа клавиатуры.If you are using menu or button text for the Name property, strip out the ampersands (&) that mark the keyboard access keys.