Export (0) Print
Expand All

AccessibleObject.Name Property

Gets or sets the object name.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

public virtual string Name { get; set; }
/** @property */
public String get_Name ()

/** @property */
public void set_Name (String value)

public function get Name () : String

public function set Name (value : String)

Property Value

The object name, or a null reference (Nothing in Visual Basic) if the property has not been set.

Exception typeCondition

COMException

The name of the control cannot be retrieved or set.

The Name property is a string used by clients to identify, find, or announce an object for the user. To access the name of a child object, you must first call GetChild with the index of the child whose name you are retrieving.

Notes to Inheritors All objects should support this property. An object's name should be intuitive so that users understand the object's meaning or purpose. 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. 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. Any label displayed to users should be used for the object's Name property. For more information, see the Name Property. If you are using menu or button text for the Name property, strip out the ampersands (&) that mark the keyboard access keys.

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. The ChartControlAccessibleObject class, which derives from ControlAccessibleObject, is used in the CreateAccessibilityInstance method to provide custom accessible information for the chart control. Since the chart legend is not an actual Control -based control, but instead is drawn by the chart control, it does not any built-in accessible information. 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.

This code excerpt demonstrates overriding the Name property. See the AccessibleObject class overview for the complete code example.

// 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 static class CurveLegendAccessibleObject extends AccessibleObject
{
    private CurveLegend curveLegend;

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

    // Private property that helps get the reference to the parent 
    // ChartControl.
    /** @property 
     */
    private ChartControlAccessibleObject get_ChartControl()
    {
        return (ChartControlAccessibleObject)get_Parent();
    } //get_ChartControl

    // Internal helper function that returns the ID for this CurveLegend.
    /** @property 
     */
    int get_ID()
    {
        for (int i = 0; i < get_ChartControl().GetChildCount(); i++) {
            if (get_ChartControl().GetChild(i).Equals(this)) {
                return i;
            }
        }
        return -1;
    } //get_ID

    // Gets the Bounds for the CurveLegend. 
    // This is used by accessibility programs.
    /** @property 
     */
    public Rectangle get_Bounds()
    {
        // The bounds is in screen coordinates.
        Point loc = curveLegend.get_Location();
        return new Rectangle(curveLegend.chart.PointToScreen(loc),
            curveLegend.get_Size());
    } //get_Bounds

    // Gets or sets the Name for the CurveLegend. 
    // This is used by accessibility programs.
    /** @property 
     */
    public String get_Name()
    {
        return curveLegend.get_Name();
    } //get_Name

    /** @property 
     */
    public void set_Name(String value)
    {
        curveLegend.set_Name(value);
    } //set_Name

    // Gets the Curve Legend Parent's Accessible object.
    // This is used by accessibility programs.
    /** @property 
     */
    public AccessibleObject get_Parent()
    {
        return curveLegend.chart.get_AccessibilityObject();
    } //get_Parent

    // Gets the role for the CurveLegend. 
    // This is used by accessibility programs.
    /** @property 
     */
    public AccessibleRole get_Role()
    {
        return AccessibleRole.StaticText;
    } //get_Role

    // Gets the state based on the selection for the CurveLegend. 
    // This is used by accessibility programs.
    /** @property 
     */
    public AccessibleStates get_State()
    {
        AccessibleStates state = AccessibleStates.Selectable;
        if (curveLegend.get_Selected()) {
            state = state | AccessibleStates.Selected;
        }
        return state;
    } //get_State

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

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

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft