Cómo crear controles accesibles mediante Visual Basic .NET o Visual Basic 2005

Seleccione idioma Seleccione idioma
Id. de artículo: 819351 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo paso a paso describe cómo crear un control de acceso que se deriva la clase Control.ControlAccessibleObject en Microsoft Visual Basic .NET o Microsoft Visual Basic 2005.

Requisitos

En este artículo se supone que está familiarizado con los temas siguientes:
  • Microsoft Visual Basic .NET o Microsoft Visual Basic 2005
  • Microsoft Active Accessibility
En la lista siguiente se describe el hardware, el software, la infraestructura de red y los service pack recomendados que se necesitarán:
  • Microsoft Windows 2000, Microsoft Windows XP o Microsoft Windows Server 2003
  • Microsoft Visual Basic .NET o Microsoft Visual Basic 2005

Información general

Microsoft Active Accessibility es una tecnología de desarrollador puede ayudar a mejorar la forma en que programas y sistemas operativos funcionan con productos tecnológicos de asistencia. Esta tecnología en primer lugar se ha integrado en el sistema operativo Microsoft Windows en Microsoft Windows 98. Microsoft sigue actualizar esta tecnología con cada nueva versión de Windows.

Microsoft Windows Forms tiene integrada Active Accessibility admite. Windows Forms proporciona información acerca de la aplicación que permite la aplicación para trabajar con productos tecnológicos de asistencia. Puede utilizar los siguientes valores de propiedad de un control para proporcionar información adicional a productos de tecnología de Ayuda:
  • AccessibleName
  • AccessibleDescription
  • AccessibleDefaultActionDescription
  • AccessibleRole
Como alternativa, si necesita más Active Accessibility información que se incluye con el control, puede escribir su propia clase que se deriva de la clase AccessibleObject o de la clase Control.ControlAccessibleObject .

La clase Control.ControlAccessibleObject hereda de la clase AccessibleObject . AccessibleObject le permite proporcionar información sobre un control a un producto de tecnología de Ayuda. Control.ControlAccessibleObject le permite proporcionar información sobre un control a un producto de tecnología de asistencia al exponer un conjunto de propiedades estándar. Por ejemplo, Control.ControlAccessibleObject puede exponer la propiedad de función , la propiedad Location y otros. Active Accessibility utiliza estas propiedades para exponer información de productos tecnológicos de asistencia.

Active Accessibility utiliza sucesos de Windows (WinEvents) para notificar a productos de tecnología de Ayuda de los cambios de interfaz de usuario en un control, como por ejemplo un cambio en el nombre en el estado o en el valor de un elemento de la interfaz de usuario.

Para obtener más información sobre la arquitectura de Microsoft Active Accessibility, visite los siguientes sitios Web de Microsoft:
Microsoft Active Accessibility: arquitectura
http://msdn2.microsoft.com/en-us/library/ms971310.aspx
Arquitectura de Microsoft Active Accessibility: Parte 2
http://msdn2.microsoft.com/en-us/library/ms971352.aspx

Crear un control de ejemplo

Para crear un control CheckBox personalizado ( MyCheckBox ) y para crear una clase Control.ControlAccessibleObject personalizada ( MyCheckBoxAccessibleObject ) que el control CheckBox personalizado utiliza para proporcionar información de accesibilidad a las aplicaciones de Active Accessibility, siga estos pasos:
  1. Abra Microsoft Visual Studio .NET o Microsoft Visual Studio 2005.
  2. En el menú archivo , haga clic en nuevo y, a continuación, haga clic en proyecto para mostrar el cuadro de diálogo Nuevo proyecto .
  3. En la ventana tipo de proyecto, haga clic en proyectos de Visual Basic .

    Nota En Visual Studio 2005, haga clic en Visual Basic bajo Tipos de proyecto .
  4. En la ventana Plantillas, haga clic en Windows Control Library .
  5. En el cuadro nombre , escriba MyCheckBox y, a continuación, haga clic en Aceptar para crear el proyecto.
  6. Agregue una referencia al ensamblado Accessibility Directory que se instala con Microsoft .NET Framework. Para ello, siga estos pasos:
    1. En el menú proyecto , haga clic en Agregar referencia .
    2. En la ficha .NET , haga doble clic en Accessibility.dll .
    3. Haga clic en Aceptar para cerrar el Agregar referencia cuadro de diálogo.
    Nota La clase AccessibleObject implementa la interfaz IAccessible . La interfaz IAccessible está definida por el ensamblado de Active Accessibility. Por lo tanto, debe agregar una referencia al ensamblado Accessibility Directory que se instala con .NET Framework.
  7. Reemplace el contenido de UserControl1 con el siguiente código:
    Imports System
    Imports System.Windows.Forms
    Imports Accessibility
    Imports System.Drawing
    
    Namespace MyCustomControls
        Public Class MyCheckBox
            Inherits CheckBox
    
            Public Sub New()
                ' Make the check box look similar to a toggle button.
                Me.Appearance = Appearance.Button
                ' Center the text on the button.
                Me.TextAlign = ContentAlignment.MiddleCenter
            End Sub
    
            ' Create an instance of the AccessibleObject that is 
            ' defined for the 'MyCheckBox' control. 
            Protected Overrides Function CreateAccessibilityInstance() _
              As AccessibleObject
                Return New MyCheckBoxAccessibleObject(Me)
            End Function
        End Class
    
        ' Accessible object for use with the 'MyCheckBox' control.
        Friend Class MyCheckBoxAccessibleObject
            Inherits Control.ControlAccessibleObject
    
            Public Sub New(ByVal owner As MyCheckBox)
                MyBase.New(owner)
            End Sub
    
            Public Overrides ReadOnly Property DefaultAction() As String
                Get
                    ' Return the DefaultAction based on 
                    ' the state of the control. 
                    If CType(Owner, MyCheckBox).Checked Then
                        Return "Toggle button up"
                    Else
                        Return "Toggle button down"
                    End If
                End Get
            End Property
    
            Public Overrides Property Name() As String
                Get
                    ' Return the Text property of the control 
                    ' if the AccessibleName is null. 
                    Dim accessibleName As String = Owner.AccessibleName
                    If Not (accessibleName Is Nothing) Then
                        Return accessibleName
                    End If
                    Return CType(Owner, MyCheckBox).Text
                End Get
    
                Set(ByVal Value As String)
                    MyBase.Name = value
                End Set
            End Property
    
            Public Overrides ReadOnly Property Role() As AccessibleRole
                Get
                    ' Because the check box looks similar to a button and functions like a button,
                    ' make the Role the same as a button. 
                    Return AccessibleRole.PushButton
                End Get
            End Property
        End Class
    End Namespace
    
  8. En el menú Generar , haga clic en Generar soluciones para generar el control.

Probar el control de ejemplo

  1. Crear un nuevo proyecto aplicación para Windows de Visual Basic 2005 o de Visual Basic .NET en Visual Studio .NET o en Visual Basic 2005.
  2. En el menú Ver , haga clic en cuadro .
  3. Haga clic con el botón secundario en el cuadro de herramientas.
  4. Si está utilizando Visual Studio .NET 2002, haga clic en Personalizar cuadro de herramientas .

    Si utiliza Microsoft Visual Studio .NET 2003, haga clic en Agregar o quitar elementos .

    Si está utilizando Microsoft Visual Studio 2005, haga clic en Elegir elementos .
  5. En el cuadro de diálogo Personalizar cuadro de herramientas , haga clic en la ficha Componentes de .NET Framework y, a continuación, haga clic en el botón Examinar para localizar el ensamblado del control que creó en la sección "Crear un control de ejemplo" de este artículo.

    Nota El ensamblado del control es MyCheckBox.dll en el ejemplo de código.
  6. Haga clic en Aceptar para cerrar el Personalizar cuadro de herramientas cuadro de diálogo.
  7. Agregue el control MyCheckBox al formulario.
  8. Agregue un control Button al formulario.

    De forma predeterminada, se agrega button1 al formulario.

    Agregue el código siguiente en el controlador de evento Click del botón:
    MsgBox("Role: " + MyCheckBox1.AccessibilityObject.Role.ToString() + vbCrLf _
           + "Name: " + MyCheckBox1.AccessibilityObject.Name.ToString() + vbCrLf _
           + "DefaultAction:" + MyCheckBox1.AccessibilityObject.DefaultAction.ToString())
    
  9. Presione la tecla F5 para generar la aplicación y ejecutar la aplicación.
  10. Cuando se inicia la aplicación, presione button1 en el formulario.

    Aparecerá un mensaje similar al siguiente:
    Función: PushButton
    Nombre: MyCheckBox1
    DefaultAction: Botón de alternar dow

Referencias

El Kit de desarrollo de software de Microsoft Active Accessibility proporciona varias utilidades que puede utilizar para probar las aplicaciones o controles accesibles. Para descargar estas utilidades, visite el siguiente sitio Web de Microsoft:
http://msdn2.microsoft.com/en-us/library/ms695716.aspx

Propiedades

Id. de artículo: 819351 - Última revisión: lunes, 03 de diciembre de 2007 - Versión: 2.6
La información de este artículo se refiere a:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft .NET Framework 2.0
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
Palabras clave: 
kbmt kbvs2005swept kbvs2005applies kbwindowsforms kbaacc kbhowtomaster kbhowto kbcode KB819351 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 819351

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com