Leer en inglés

Compartir a través de


AccessibleObject.Bounds Propiedad

Definición

Obtiene la ubicación y el tamaño del objeto accesible.

C#
public virtual System.Drawing.Rectangle Bounds { get; }

Valor de propiedad

Rectangle que representa los límites del objeto accesible.

Excepciones

No se pueden recuperar los límites del control.

Ejemplos

En el ejemplo siguiente se muestra la creación de un control de gráfico compatible con accesibilidad, mediante las AccessibleObject clases y Control.ControlAccessibleObject para exponer información accesible. El control traza dos curvas junto con una leyenda. La ChartControlAccessibleObject clase , que deriva de ControlAccessibleObject, se usa en el CreateAccessibilityInstance método para proporcionar información accesible personalizada para el control de gráfico. Puesto que la leyenda del gráfico no es un control basado en real Control , sino que se dibuja mediante el control de gráfico, no tiene ninguna información accesible integrada. Por este motivo, la ChartControlAccessibleObject clase invalida el GetChild método para devolver que CurveLegendAccessibleObject representa información accesible para cada parte de la leyenda. Cuando una aplicación con reconocimiento accesible usa este control, el control puede proporcionar la información accesible necesaria.

Este fragmento de código muestra cómo invalidar la Bounds propiedad . Consulte la información general de la AccessibleObject clase para obtener el ejemplo de código completo.

C#
// 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);
    }
}

Comentarios

La Bounds propiedad recupera el rectángulo delimitador del objeto en coordenadas de pantalla. Si el objeto tiene una forma norectangular, esta propiedad representa el rectángulo más pequeño que abarca completamente toda la región del objeto. Por lo tanto, para objetos no rectangulares, como elementos de vista de lista, se pueden producir errores en las coordenadas del rectángulo delimitador del objeto, si se prueban, llamando al HitTest método , porque HitTest determina los límites del objeto en píxel por píxel.

Notas a los desarrolladores de herederos

La implementación predeterminada devuelve el rectángulo delimitador del objeto accesible si el objeto encapsula un control del sistema; de lo contrario, devuelve Empty. Todos los objetos accesibles visibles deben admitir este método. Los objetos sound no admiten este método.

Se aplica a

Producto Versiones
.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

Consulte también