Este tema aún no ha recibido ninguna valoración - Valorar este tema

Control.ControlAccessibleObject (Clase)

Actualización: noviembre 2007

Proporciona información acerca de un control que una aplicación de accesibilidad puede utilizar.

Espacio de nombres:  System.Windows.Forms
Ensamblado:  System.Windows.Forms (en System.Windows.Forms.dll)
[ComVisibleAttribute(true)]
public class ControlAccessibleObject : AccessibleObject
/** @attribute ComVisibleAttribute(true) */
public class ControlAccessibleObject extends AccessibleObject
public class ControlAccessibleObject extends AccessibleObject

Los formularios Windows Forms tienen compatibilidad integrada para accesibilidad y proporcionan información acerca de la aplicación que permite trabajar con aplicaciones cliente de accesibilidad. Algunos ejemplos de aplicaciones cliente de accesibilidad son: utilidades para aumentar y revisar la pantalla, utilidades para entrada de voz, teclados en pantalla, dispositivos de entrada alternativos y utilidades para la mejora de los teclados. A veces deseará proporcionar información adicional a las aplicaciones cliente con características de accesibilidad. Existen dos maneras de proporcionar esta información adicional. Para proporcionar información sobre accesibilidad limitada para los controles existentes, establezca los valores de las propiedades AccessibleName, AccessibleDescription, AccessibleDefaultActionDescription y AccessibleRole del control, que se notificarán a las aplicaciones cliente de accesibilidad. O bien, si necesita incluir más información sobre la accesibilidad en el control, puede escribir su propia clase que se derive de la clase AccessibleObject o Control.ControlAccessibleObject. Por ejemplo, si escribe un control propio que no deriva de los controles comunes o necesita que el control realice operaciones como la comprobación de visitas, debe crear una clase Control.ControlAccessibleObject para el control llamando al método CreateAccessibilityInstance.

kb5ze4tt.alert_note(es-es,VS.90).gif Nota:

Si reemplaza el método AccessibleObject.GetChild, también debe reemplazar el método AccessibleObject.GetChildCount. Para obtener o establecer el valor de la propiedad AccessibilityObject, se debe agregar una referencia al ensamblado Accessibility instalado con .NET Framework.

Para obtener más información sobre los objetos accesibles, vea la sección Active Accessibility de MSDN Library.

En el siguiente ejemplo de código se crea un control de casilla de verificación que se deriva de la clase CheckBox y crea un Control.ControlAccessibleObject personalizado para que lo utilice la clase derivada. En la clase derivada, MyCheckBox, Appearance es Button de forma predeterminada, por lo que aparece como botón de alternar. La clase derivada Control.ControlAccessibleObject, MyCheckBoxControlAccessibleObject, reemplaza tres propiedades para dar cuenta de la diferencia de apariencia.

using System;
using System.Windows.Forms;
using Accessibility;
using System.Drawing;

namespace MyCustomControls
{
   public class MyCheckBox : CheckBox
   {
      public MyCheckBox()
      {
         // Make the check box appear like a toggle button.
         this.Appearance = Appearance.Button;
         // Center the text on the button.
         this.TextAlign = ContentAlignment.MiddleCenter;
	 // Set the AccessibleDescription text.
         this.AccessibleDescription = "A toggle style button.";
      }

      // Create an instance of the AccessibleObject 
      // defined for the 'MyCheckBox' control
      protected override AccessibleObject CreateAccessibilityInstance() 
      {
         return new MyCheckBoxAccessibleObject(this);
      }
   }

   // Accessible object for use with the 'MyCheckBox' control.
   internal class MyCheckBoxAccessibleObject : Control.ControlAccessibleObject 
   {
      public MyCheckBoxAccessibleObject(MyCheckBox owner) : base(owner) 
      {

      }

      public override string DefaultAction 
      {
         get
         {
            // Return the DefaultAction based upon 
            // the state of the control.
            if( ((MyCheckBox)Owner).Checked )
            {
               return "Toggle button up";
            }
            else
            {
               return "Toggle button down";
            }
         }
      }

      public override string Name 
      {
         get 
         {
            // Return the Text property of the control 
            // if the AccessibleName is null.
            string name = Owner.AccessibleName;
            if (name != null) 
            {
               return name;
            }
            return ((MyCheckBox)Owner).Text;
         }

         set
         {
            base.Name = value;
         }
      }            

      public override AccessibleRole Role 
      {
         get 
         {
            // Since the check box appears like a button,
            // make the Role the same as a button.
            return AccessibleRole.PushButton;
         }
      }
   }
}


package MyCustomControls;
import System.*;
import System.Windows.Forms.*;
import Accessibility.*;
import System.Drawing.*;

public class MyCheckBox extends CheckBox
{
    public MyCheckBox()
    {
        // Make the check box appear like a toggle button.
        this.set_Appearance(get_Appearance().Button);
        // Center the text on the button.
        this.set_TextAlign(ContentAlignment.MiddleCenter);
        // Set the AccessibleDescription text.
        this.set_AccessibleDescription("A toggle style button.");
    } //MyCheckBox

    // Create an instance of the AccessibleObject 
    // defined for the 'MyCheckBox' control
    protected AccessibleObject CreateAccessibilityInstance()
    {
        return new MyCheckBoxAccessibleObject(this);
    } //CreateAccessibilityInstance
} //MyCheckBox

// Accessible object for use with the 'MyCheckBox' control.
class MyCheckBoxAccessibleObject extends Control.ControlAccessibleObject
{
    public MyCheckBoxAccessibleObject(MyCheckBox owner)
    {
         super(owner);
    } //MyCheckBoxAccessibleObject

    /** @property 
     */
    public String get_DefaultAction()
    {
        // Return the DefaultAction based upon 
        // the state of the control.
        if (((MyCheckBox)get_Owner()).get_Checked()) {
            return "Toggle button up";
        }
        else {
            return "Toggle button down";
        }
    } //get_DefaultAction

    /** @property 
     */
    public String get_Name()
    {
        // Return the Text property of the control 
        // if the AccessibleName is null.
        String name = get_Owner().get_AccessibleName();
        if (name != null) {
            return name;
        }
        return ((MyCheckBox)get_Owner()).get_Text();
    } //get_Name

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

    /** @property 
     */
    public AccessibleRole get_Role()
    {
        // Since the check box appears like a button,
        // make the Role the same as a button.
        return AccessibleRole.PushButton;
    } //get_Role
} //MyCheckBoxAccessibleObject


Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0, 1.1, 1.0
¿Le ha resultado útil?
(Caracteres restantes: 1500)
Contenido de la comunidad Agregar