AccessibleSelection 列舉

定義

指定可存取的物件如何選取或接收焦點。

此列舉支援其成員值的位元組合。

C#
[System.Flags]
public enum AccessibleSelection
繼承
AccessibleSelection
屬性

欄位

AddSelection 8

將物件加入選取當中。

ExtendSelection 4

選取錨點和選取物件之間所有的物件。

None 0

物件的選取或焦點不變。

RemoveSelection 16

將物件從選取中移除。

TakeFocus 1

將焦點指派給物件,使這個物件成為錨點;它就是選取的起點。 可和 TakeSelectionExtendSelectionAddSelectionRemoveSelection 組合。

TakeSelection 2

選取物件並取消選取容器中所有其他物件。

範例

下列程式碼範例示範如何使用 AccessibleObjectControl.ControlAccessibleObject 類別來公開無障礙資訊,建立協助工具感知圖表控制項。 控制項會繪製兩條曲線以及圖例。 衍生 ChartControlAccessibleObjectControlAccessibleObject 的 類別用於 方法中 CreateAccessibilityInstance ,以提供圖表控制項的自訂可存取訊號。 因為圖表圖例不是實際的 Control 控制項,而是由圖表控制項繪製,所以它不會有任何內建的可存取訊號。 因此,類別會 ChartControlAccessibleObject GetChild 覆寫 方法,以傳回 CurveLegendAccessibleObject ,代表圖例每個部分的可存取訊號。 當可存取感知應用程式使用此控制項時,控制項可以提供必要的可存取訊號。

此範例示範如何搭配 Select 方法使用 AccessibleSelection 列舉。 如需完整的程式碼範例, AccessibleObject 請參閱 類別概觀。

C#
// 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;                        
            }
        }            
    }
}

備註

焦點物件是接收鍵盤輸入的物件。 具有鍵盤焦點的物件是使用中視窗或使用中視窗的子物件。 選取的物件會標示為參與某種類型的群組作業。

這個列舉是由 AccessibleObject.Select 使用。

如需協助工具應用程式的其他資訊,請在 Microsoft Developer Network (MSDN) 程式庫中搜尋「Microsoft Active Accessibility」。

適用於

產品 版本
.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
Windows Desktop 3.0, 3.1, 5, 6, 7

另請參閱