AccessibleStates Enum

Definition

Anger värden som representerar möjliga tillstånd för ett tillgängligt objekt.

Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.

public enum class AccessibleStates
[System.Flags]
public enum AccessibleStates
[<System.Flags>]
type AccessibleStates = 
Public Enum AccessibleStates
Arv
AccessibleStates
Attribut

Fält

Name Värde Description
None 0

Inget tillstånd.

Unavailable 1

Ett otillgängligt objekt.

Selected 2

Ett markerat objekt.

Focused 4

Ett objekt med tangentbordsfokus.

Pressed 8

Ett pressat objekt.

Checked 16

Ett objekt med en markerad kryssruta.

Indeterminate 32

En kryssruta med tre tillstånd eller en verktygsfältsknapp vars tillstånd är obestämt. Kryssrutan är varken markerad eller avmarkerad, och den är i det tredje eller blandade tillståndet.

Mixed 32

En kryssruta med tre tillstånd eller en verktygsfältsknapp vars tillstånd är obestämt. Kryssrutan är varken markerad eller avmarkerad, och den är i det tredje eller blandade tillståndet.

ReadOnly 64

Ett skrivskyddat objekt.

HotTracked 128

Objektet som spåras av musen, vilket innebär att dess utseende är markerat för att indikera att muspekaren finns över det.

Default 256

Standardknappen eller menyalternativet.

Expanded 512

De underordnade objekt som visas i en dispositions- eller trädstruktur.

Collapsed 1024

De dolda underordnade objekten i objektet som är objekt i en disposition eller trädstruktur.

Busy 2048

En kontroll som inte kan acceptera indata i det aktuella villkoret.

Floating 4096

Objektet som inte är fast i gränsen för det överordnade objektet och som inte flyttas automatiskt tillsammans med det överordnade objektet.

Marqueed 8192

Ett objekt med rullning eller flytt av text eller grafik.

Animated 16384

Objektet som snabbt eller ständigt ändrar utseende. Grafik som ibland animeras, men inte alltid, bör definieras som GraphicORAnimated. Det här tillståndet ska inte användas för att indikera att objektets plats ändras.

Invisible 32768

Ett objekt utan ett synligt användargränssnitt.

Offscreen 65536

Ingen representation på skärmen. Ett ljud- eller aviseringsobjekt skulle ha det här tillståndet eller ett dolt fönster som aldrig visas.

Sizeable 131072

Ett ansenligt objekt.

Moveable 262144

Ett flyttbart objekt.

SelfVoicing 524288

Objektet eller det underordnade objektet kan använda text-till-tal (TTS) för att beskriva sig själv. Ett talbaserat hjälpmedel bör inte meddela information när ett objekt med det här tillståndet har fokus, eftersom objektet automatiskt meddelar information om sig självt.

Focusable 1048576

Objektet i det aktiva fönstret som kan ta emot tangentbordsfokus.

Selectable 2097152

Ett objekt som kan acceptera markeringen.

Linked 4194304

Ett länkat objekt som inte har markerats tidigare.

Traversed 8388608

Ett länkat objekt som tidigare har valts.

MultiSelectable 16777216

Ett objekt som accepterar flera markerade objekt.

ExtSelectable 33554432

Den ändrade markeringen så att alla objekt mellan markeringsankaret, som är objektet med tangentbordsfokus, och det här objektet får ankarobjektets markeringstillstånd. Om fästpunktsobjektet inte är markerat tas objekten bort från markeringen. Om fästpunktsobjektet är markerat utökas markeringen så att det inkluderar det här objektet och alla objekt däremellan. Du kan ange markeringstillståndet genom att kombinera detta med AddSelection eller RemoveSelection. Det här tillståndet ändrar inte fokus eller markeringsankare om det inte kombineras med TakeFocus.

AlertLow 67108864

Information med låg prioritet som kanske inte är viktig för användaren.

AlertMedium 134217728

Viktig information som inte behöver förmedlas till användaren omedelbart. När en indikator på batterinivå till exempel börjar nå en låg nivå kan den generera en avisering på medelnivå. Verktyg för blind åtkomst kan sedan generera ett ljud som låter användaren veta att viktig information är tillgänglig, utan att faktiskt avbryta användarens arbete. Användarna kan sedan fråga efter aviseringsinformationen när de vill.

AlertHigh 268435456

Viktig information som ska förmedlas till användaren omedelbart. Till exempel skulle en indikator på batterinivå som når en kritisk låg nivå övergå till det här tillståndet, i vilket fall ett verktyg för blind åtkomst skulle meddela denna information omedelbart till användaren, och ett skärmförstoringsprogram skulle rulla skärmen så att batteriindikatorn visas. Det här tillståndet är också lämpligt för alla frågor eller åtgärder som måste slutföras innan användaren kan fortsätta.

Protected 536870912

En lösenordsskyddad redigeringskontroll.

Valid 1073741823

Ett giltigt objekt. Den här egenskapen har fasats ut.

HasPopup 1073741824

Objektet visar en popup-meny eller ett fönster när det anropas.

Exempel

I följande kodexempel visas hur du skapar en tillgänglighetsmedveten diagramkontroll med hjälp AccessibleObject av klasserna och Control.ControlAccessibleObject för att exponera tillgänglig information. Kontrollen ritar två kurvor tillsammans med en förklaring. Klassen ChartControlAccessibleObject , som härleds från ControlAccessibleObject, används i CreateAccessibilityInstance metoden för att tillhandahålla anpassad tillgänglig information för diagramkontrollen. Eftersom diagramförklaringen inte är en faktisk kontroll baserad på Control, utan i stället ritas av diagramkontrollen, innehåller den ingen inbyggd tillgänglig information. ChartControlAccessibleObject Därför åsidosätter GetChild klassen metoden för att returnera den CurveLegendAccessibleObject som representerar tillgänglig information för varje del av förklaringen. När ett tillgängligt program använder den här kontrollen kan kontrollen tillhandahålla nödvändig tillgänglig information.

Det här kodutdraget AccessibleStates visar hur du använder uppräkningen med State egenskapen . Se klassöversikten AccessibleObject för det fullständiga kodexemplet.

// Inner class ChartControlAccessibleObject represents accessible information associated with the ChartControl.
// The ChartControlAccessibleObject is returned in the ChartControl::CreateAccessibilityInstance .
ref class ChartControlAccessibleObject: public ControlAccessibleObject
{
private:
   ChartControl^ chartControl;

public:
   ChartControlAccessibleObject( ChartControl^ ctrl )
      : ControlAccessibleObject( ctrl )
   {
      chartControl = ctrl;
   }


   property System::Windows::Forms::AccessibleRole Role 
   {

      // Gets the role for the Chart. This is used by accessibility programs.
      virtual System::Windows::Forms::AccessibleRole get() override
      {
         return ::AccessibleRole::Chart;
      }

   }

   property AccessibleStates State 
   {

      // Gets the state for the Chart. This is used by accessibility programs.
      virtual AccessibleStates get() override
      {
         return AccessibleStates::ReadOnly;
      }

   }

   // The CurveLegend objects are "child" controls in terms of accessibility so
   // return the number of ChartLengend objects.
   virtual int GetChildCount() override
   {
      return chartControl->Legends->Length;
   }


   // Gets the Accessibility object of the child CurveLegend idetified by index.
   virtual AccessibleObject^ GetChild( int index ) override
   {
      if ( index >= 0 && index < chartControl->Legends->Length )
      {
         return chartControl->Legends[ index ]->AccessibilityObject;
      }

      return nullptr;
   }


internal:

   // Helper function that is used by the CurveLegend's accessibility object
   // to navigate between sibiling controls. Specifically, this function is used in
   // the CurveLegend::CurveLegendAccessibleObject.Navigate function.
   AccessibleObject^ NavigateFromChild( CurveLegend::CurveLegendAccessibleObject^ child, AccessibleNavigation navdir )
   {
      switch ( navdir )
      {
         case AccessibleNavigation::Down:
         case AccessibleNavigation::Next:
            return GetChild( child->ID + 1 );

         case AccessibleNavigation::Up:
         case AccessibleNavigation::Previous:
            return GetChild( child->ID - 1 );
      }
      return nullptr;
   }


   // Helper function that is used by the CurveLegend's accessibility object
   // to select a specific CurveLegend control. Specifically, this function is used
   // in the CurveLegend::CurveLegendAccessibleObject.Select function.
   void SelectChild( CurveLegend::CurveLegendAccessibleObject^ child, AccessibleSelection selection )
   {
      int childID = child->ID;
      
      // Determine which selection action should occur, based on the
      // AccessibleSelection value.
      if ( (selection & AccessibleSelection::TakeSelection) != (AccessibleSelection)0 )
      {
         for ( int i = 0; i < chartControl->Legends->Length; i++ )
         {
            if ( i == childID )
            {
               chartControl->Legends[ i ]->Selected = true;
            }
            else
            {
               chartControl->Legends[ i ]->Selected = false;
            }

         }
         
         // AccessibleSelection->AddSelection means that the CurveLegend will be selected.
         if ( (selection & AccessibleSelection::AddSelection) != (AccessibleSelection)0 )
         {
            chartControl->Legends[ childID ]->Selected = true;
         }
         
         // AccessibleSelection->AddSelection means that the CurveLegend will be unselected.
         if ( (selection & AccessibleSelection::RemoveSelection) != (AccessibleSelection)0 )
         {
            chartControl->Legends[ childID ]->Selected = false;
         }
      }
   }

};

// class ChartControlAccessibleObject
// Inner class ChartControlAccessibleObject represents accessible information associated with the ChartControl.
// The ChartControlAccessibleObject is returned in the ChartControl.CreateAccessibilityInstance override.
public class ChartControlAccessibleObject : ControlAccessibleObject
{
    ChartControl chartControl;

    public ChartControlAccessibleObject(ChartControl ctrl) : base(ctrl) 
    {
        chartControl = ctrl;
    }

    // Gets the role for the Chart. This is used by accessibility programs.
    public override AccessibleRole Role
    {  
        get {
            return AccessibleRole.Chart;
        }
    }

    // Gets the state for the Chart. This is used by accessibility programs.
    public override AccessibleStates State
    {  
        get {                    
            return AccessibleStates.ReadOnly;
        }
    }

    // The CurveLegend objects are "child" controls in terms of accessibility so 
    // return the number of ChartLengend objects.
    public override int GetChildCount()
    {  
        return chartControl.Legends.Length;
    }

    // Gets the Accessibility object of the child CurveLegend idetified by index.
    public override AccessibleObject GetChild(int index)
    {  
        if (index >= 0 && index < chartControl.Legends.Length) {
            return chartControl.Legends[index].AccessibilityObject;
        }                
        return null;
    }

    // Helper function that is used by the CurveLegend's accessibility object
    // to navigate between sibiling controls. Specifically, this function is used in
    // the CurveLegend.CurveLegendAccessibleObject.Navigate function.
    internal AccessibleObject NavigateFromChild(CurveLegend.CurveLegendAccessibleObject child, 
                                                AccessibleNavigation navdir) 
    {  
        switch(navdir) {
            case AccessibleNavigation.Down:
            case AccessibleNavigation.Next:
                return GetChild(child.ID + 1);
                
            case AccessibleNavigation.Up:
            case AccessibleNavigation.Previous:
                return GetChild(child.ID - 1);                        
        }
        return null;
    }

    // Helper function that is used by the CurveLegend's accessibility object
    // to select a specific CurveLegend control. Specifically, this function is used
    // in the CurveLegend.CurveLegendAccessibleObject.Select function.
    internal void SelectChild(CurveLegend.CurveLegendAccessibleObject child, AccessibleSelection selection) 
    {   
        int childID = child.ID;

        // Determine which selection action should occur, based on the
        // AccessibleSelection value.
        if ((selection & AccessibleSelection.TakeSelection) != 0) {
            for(int i = 0; i < chartControl.Legends.Length; i++) {
                if (i == childID) {
                    chartControl.Legends[i].Selected = true;                        
                } else {
                    chartControl.Legends[i].Selected = false;
                }
            }

            // AccessibleSelection.AddSelection means that the CurveLegend will be selected.
            if ((selection & AccessibleSelection.AddSelection) != 0) {
                chartControl.Legends[childID].Selected = true;                        
            }

            // AccessibleSelection.AddSelection means that the CurveLegend will be unselected.
            if ((selection & AccessibleSelection.RemoveSelection) != 0) {
                chartControl.Legends[childID].Selected = false;                        
            }
        }            
    }
}
' Inner Class ChartControlAccessibleObject represents accessible information 
' associated with the ChartControl.
' The ChartControlAccessibleObject is returned in the         ' ChartControl.CreateAccessibilityInstance override.
Public Class ChartControlAccessibleObject
    Inherits Control.ControlAccessibleObject

    Private chartControl As ChartControl
    
    Public Sub New(ctrl As ChartControl)
        MyBase.New(ctrl)
        chartControl = ctrl
    End Sub
    
    ' Get the role for the Chart. This is used by accessibility programs.            
    Public Overrides ReadOnly Property Role() As AccessibleRole
        Get
            Return System.Windows.Forms.AccessibleRole.Chart
        End Get
    End Property
    
    ' Get the state for the Chart. This is used by accessibility programs.            
    Public Overrides ReadOnly Property State() As AccessibleStates
        Get
            Return AccessibleStates.ReadOnly
        End Get
    End Property                        
    
    ' The CurveLegend objects are "child" controls in terms of accessibility so 
    ' return the number of ChartLengend objects.            
    Public Overrides Function GetChildCount() As Integer
        Return chartControl.Legends.Length
    End Function 
    
    ' Get the Accessibility object of the child CurveLegend idetified by index.
    Public Overrides Function GetChild(index As Integer) As AccessibleObject
        If index >= 0 And index < chartControl.Legends.Length Then
            Return chartControl.Legends(index).AccessibilityObject
        End If
        Return Nothing
    End Function 
    
    ' Helper function that is used by the CurveLegend's accessibility object
    ' to navigate between sibiling controls. Specifically, this function is used in
    ' the CurveLegend.CurveLegendAccessibleObject.Navigate function.
    Friend Function NavigateFromChild(child As CurveLegend.CurveLegendAccessibleObject, _
                                    navdir As AccessibleNavigation) As AccessibleObject
        Select Case navdir
            Case AccessibleNavigation.Down, AccessibleNavigation.Next
                    Return GetChild(child.ID + 1)
            
            Case AccessibleNavigation.Up, AccessibleNavigation.Previous
                    Return GetChild(child.ID - 1)
        End Select
        Return Nothing
    End Function            

    ' Helper function that is used by the CurveLegend's accessibility object
    ' to select a specific CurveLegend control. Specifically, this function is used 
    ' in the CurveLegend.CurveLegendAccessibleObject.Select function.            
    Friend Sub SelectChild(child As CurveLegend.CurveLegendAccessibleObject, selection As AccessibleSelection)
        Dim childID As Integer = child.ID
        
        ' Determine which selection action should occur, based on the
        ' AccessibleSelection value.
        If (selection And AccessibleSelection.TakeSelection) <> 0 Then
            Dim i As Integer
            For i = 0 To chartControl.Legends.Length - 1
                If i = childID Then
                    chartControl.Legends(i).Selected = True
                Else
                    chartControl.Legends(i).Selected = False
                End If
            Next i
            
            ' AccessibleSelection.AddSelection means that the CurveLegend will be selected.
            If (selection And AccessibleSelection.AddSelection) <> 0 Then
                chartControl.Legends(childID).Selected = True
            End If

            ' AccessibleSelection.AddSelection means that the CurveLegend will be unselected.                    
            If (selection And AccessibleSelection.RemoveSelection) <> 0 Then
                chartControl.Legends(childID).Selected = False
            End If
        End If
    End Sub
End Class

Kommentarer

Ett tillgängligt objekt kan associeras med ett eller flera av dessa tillstånd.

Gäller för

Se även