Esporta (0) Stampa
Espandi tutto

Classe Control.ControlAccessibleObject

Aggiornamento: novembre 2007

Fornisce informazioni su un controllo che può essere utilizzato da un'applicazione con accesso facilitato.

Spazio dei nomi:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

[ComVisibleAttribute(true)]
public class ControlAccessibleObject : AccessibleObject
/** @attribute ComVisibleAttribute(true) */
public class ControlAccessibleObject extends AccessibleObject
public class ControlAccessibleObject extends AccessibleObject

Windows Form dispone di un supporto incorporato per l'accesso facilitato e fornisce informazioni sull'applicazione che ne consentono l'utilizzo nelle applicazioni client con accesso facilitato. Sono esempi di applicazioni client con accesso facilitato le utilità di ingrandimento e di anteprima, le utilità di input vocale, le tastiere su schermo, le periferiche di input alternative e le utilità avanzate per la tastiera. In alcuni casi occorre fornire informazioni aggiuntive su applicazioni client per l'accesso facilitato. Queste informazioni possono essere fornite in due modi. Per fornire informazioni limitate sull'accesso facilitato per i controlli esistenti, impostare i valori di proprietà AccessibleName, AccessibleDescription, AccessibleDefaultActionDescription e AccessibleRole dei controlli, che saranno riportati nelle applicazioni client con accesso facilitato. In alternativa, se è necessario includere nel controllo più informazioni sull'accesso facilitato, è possibile realizzare una classe personalizzata derivante dalle classi AccessibleObject o Control.ControlAccessibleObject. Se si crea ad esempio un controllo non derivato dai controlli comuni o si richiedono operazioni di hit testing all'interno del controllo, creare una classe Control.ControlAccessibleObject per il controllo chiamando il metodo CreateAccessibilityInstance.

Nota:

Se si esegue l'override del metodo AccessibleObject.GetChild, eseguire anche l'override del metodo AccessibleObject.GetChildCount. Per ottenere o impostare la proprietà AccessibilityObject, è necessario aggiungere un riferimento all'assembly Accessibility installato con .NET Framework.

Per ulteriori informazioni sugli oggetti accessibili, vedere la sezione Active Accessibility di MSDN Library.

Nell'esempio di codice riportato di seguito vengono creati un controllo casella di controllo derivato dalla classe CheckBox e un oggetto Control.ControlAccessibleObject personalizzato per la classe derivata da utilizzare. Per impostazione predefinita, la proprietà Appearance della classe derivata MyCheckBox è impostata su Button in modo che il controllo abbia l'aspetto di un interruttore. Per consentire la differenza di aspetto, la classe derivata Control.ControlAccessibleObject, denominata MyCheckBoxControlAccessibleObject, esegue l'override di tre proprietà.

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


Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

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 e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0, 1.1, 1.0

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft