AccessibleObject.Select(AccessibleSelection) Método

Definición

Modifica la selección o mueve el foco del teclado del objeto accesible.

C#
public virtual void Select(System.Windows.Forms.AccessibleSelection flags);

Parámetros

flags
AccessibleSelection

Uno de los valores de AccessibleSelection.

Excepciones

No se puede realizar la selección.

Ejemplos

En el ejemplo siguiente se muestra la creación de un control de gráfico compatible con accesibilidad, mediante las clases AccessibleObject y Control.ControlAccessibleObject para exponer información accesible. El control traza dos curvas junto con una leyenda. La clase ChartControlAccessibleObject, que deriva de ControlAccessibleObject, se usa en el método CreateAccessibilityInstance para proporcionar información accesible personalizada para el control de gráfico. Dado que la leyenda del gráfico no es un control Control -based real, sino que el control de gráfico lo dibuja, no tiene ninguna información accesible integrada. Debido a esto, la clase ChartControlAccessibleObject invalida el método GetChild para devolver el CurveLegendAccessibleObject que 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.

En este código se muestra cómo invalidar el método Select. Consulte la información general de la clase AccessibleObject 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

Las aplicaciones pueden usar este método para realizar operaciones de selección complejas.

A continuación se describen los AccessibleSelection valores que se deben especificar al llamar a Select para realizar operaciones de selección complejas.

Operación Combinación de marcas
Para simular un clic AccessibleSelection.TakeFocus OR AccessibleSelection.TakeSelection Nota: Esta combinación no seleccionará el control deseado si se llama desde su propia aplicación. Sin embargo, tendrá el efecto deseado si se llama desde una aplicación externa.
Para seleccionar un elemento de destino mediante la simulación de CTRL + clic AccessibleSelection.TakeFocus OR AccessibleSelection.AddSelection
Para cancelar la selección de un elemento de destino mediante la simulación de CTRL + clic AccessibleSelection.TakeFocus OR AccessibleSelection.RemoveSelection
Para simular MAYÚS + clic AccessibleSelection.TakeFocus OR AccessibleSelection.ExtendSelection
Para seleccionar un intervalo de objetos y colocar el foco en el último objeto Especifique AccessibleSelection.TakeFocus en el objeto inicial para establecer el delimitador de selección. A continuación, vuelva a llamar a Select y especifique AccessibleSelection.TakeFocusORAccessibleSelection.ExtendSelection en el último objeto.
Para anular la selección de todos los objetos Especifique AccessibleSelection.TakeSelection en cualquier objeto. Esta marca anula la selección de todos los objetos seleccionados excepto el seleccionado. A continuación, vuelva a llamar a Select y especifique AccessibleSelection.RemoveSelection en el mismo objeto.

Notas a los desarrolladores de herederos

Todos los objetos que se pueden seleccionar o recibir el foco del teclado deben admitir 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