مشاركة عبر


يعتمد عنصر تحكم نقش في موفر التنفيذ تلقائي واجهة المستخدم

ملاحظةملاحظة

Th هو الوثائق هو المقصودة لإطار عمل.NET المطورين الذين يرغبون في استخدام المدارة UI Automationالفئات المعرفة في System.Windows.Automationمساحة الاسم.للحصول على أحدث المعلومات حول UI Automation، راجع API التنفيذ التلقائي Windows: أتمتة واجه المستخدم.

يظهر هذا pic إلى كيف إلى تطبيق أنماط عنصر تحكم واحد أو أكثر تشغيل من موفر Auإلىmation واجهة المستخدم بحيث يمكن التعامل مع عناصر تحكم تطبيقات العميل والحصول تشغيل بيانات منها.

دعم عنصر تحكم أنماط

  1. تطبيق الواجهات المناسبة عنصر تحكم النقوش التي يجب أن يعتمد العنصر، مثل IInvokeProviderل InvokePattern.

  2. إرجاع الكائن الذي يحتوي على التطبيق الخاص بك لكل عنصر تحكم واجهة في التطبيق الخاص بك ل IRawElementProviderSimple.GetPatternProvider

مثال

يلي مثال يظهر تطبيق ISelectionProviderلمربع قائمة مخصصة بالتحديد المفرد. إرجاع ثلاث خصائص ويحصل على العنصر المحدد حاليا.

#Region "ISelectionProvider Members"

''' <summary>
''' Specifies whether selection of more than one item at a time is supported.
''' </summary>

Public ReadOnly Property CanSelectMultiple() As Boolean _
    Implements ISelectionProvider.CanSelectMultiple
    Get
        Return False
    End Get
End Property
''' <summary>
''' Specifies whether the list has to have an item selected at all times.
''' </summary>

Public ReadOnly Property IsSelectionRequired() As Boolean _
    Implements ISelectionProvider.IsSelectionRequired
    Get
        Return True
    End Get
End Property

''' <summary>
''' Returns the automation provider for the selected list item.
''' </summary>
''' <returns>The selected item.</returns>
''' <remarks>
''' MyList is an ArrayList collection of providers for items in the list box.
''' SelectedIndex is the index of the selected item.
''' </remarks>
Public Function GetSelection() As IRawElementProviderSimple() _
    Implements ISelectionProvider.GetSelection
    If SelectedIndex >= 0 Then
        Dim itemProvider As IRawElementProviderSimple = DirectCast(MyList(SelectedIndex), IRawElementProviderSimple)
        Dim providers(1) As IRawElementProviderSimple
        providers(0) = itemProvider
        Return providers
    Else
        Return Nothing
    End If

End Function 'GetSelection 
#End Region
Private Members As ISelectionProvider
#region ISelectionProvider Members

/// <summary>
/// Specifies whether selection of more than one item at a time is supported.
/// </summary>
public bool CanSelectMultiple
{
    get
    {
        return false;
    }
}

/// <summary>
/// Specifies whether the list has to have an item selected at all times.
/// </summary>
public bool IsSelectionRequired
{
    get
    {
        return true;
    }
}

/// <summary>
/// Returns the automation provider for the selected list item.
/// </summary>
/// <returns>The selected item.</returns>
/// <remarks>
/// MyList is an ArrayList collection of providers for items in the list box.
/// SelectedIndex is the index of the selected item.
/// </remarks>
public IRawElementProviderSimple[] GetSelection()
{
    if (SelectedIndex >= 0)
    {
        IRawElementProviderSimple itemProvider = (IRawElementProviderSimple)MyList[SelectedIndex];
        IRawElementProviderSimple[] providers =  { itemProvider };
        return providers;
    }
    else return null;
}
#endregion ISelectionProvider Members

يلي مثال يظهر تطبيق GetPatternProviderالذي يرجع تطبيق فئة ISelectionProvider. الأكثر قائمة عناصر التحكم صندوق هل تدعم أنماط غير ذلك أيضا، ولكن في هذا المثال مرجع فارغ ( Nothingفي Microsoft Visual Basic .NET) يتم إرجاع لكافة الأخرى نقش معرفات.

''' <summary>
''' Returns the object that supports the specified pattern.
''' </summary>
''' <param name="patternId">ID of the pattern.</param>
''' <returns>Object that implements IInvokeProvider.</returns>
''' <remarks>
''' In this case, the ISelectionProvider interface is implemented in another provider-defined class, 
''' ListPattern. However, it could be implemented in the base provider class, in which case the 
''' method would simply return "this".
''' </remarks>
Function GetPatternProvider(ByVal patternId As Integer) As Object _
    Implements IRawElementProviderSimple.GetPatternProvider

    If patternId = SelectionPatternIdentifiers.Pattern.Id Then
        Return New ListPattern(myItems, SelectedIndex)
    Else
        Return Nothing
    End If

End Function 'IRawElementProviderSimple.GetPatternProvider
/// <summary>
/// Returns the object that supports the specified pattern.
/// </summary>
/// <param name="patternId">ID of the pattern.</param>
/// <returns>Object that implements IInvokeProvider.</returns>
/// <remarks>
/// In this case, the ISelectionProvider interface is implemented in another provider-defined class, 
/// ListPattern. However, it could be implemented in the base provider class, in which case the 
/// method would simply return "this".
/// </remarks>
object IRawElementProviderSimple.GetPatternProvider(int patternId)
{
    if (patternId == SelectionPatternIdentifiers.Pattern.Id)
    {
        return new ListPattern(myItems, SelectedIndex);
    }
    else
    {
        return null;
    }
}

راجع أيضًا:

المبادئ

واجه المستخدم أتمتة نظرة عامة حول موفري

تطبيق موفر التنفيذ التلقائي لواجهة المستخدم من جانب الخادم