MultipleViewPattern.SetCurrentView(Int32) Method

Definition

Sets the current control-specific view.

public:
 void SetCurrentView(int viewId);
public void SetCurrentView (int viewId);
member this.SetCurrentView : int -> unit
Public Sub SetCurrentView (viewId As Integer)

Parameters

viewId
Int32

A control-specific view identifier.

Exceptions

viewId is not a member of the supported views collection.

Examples

In the following example, the collection of views available for a control that supports the MultipleViewPattern control pattern is retrieved. A member of the view identifiers collection is subsequently used to modify the current view of the control.

///--------------------------------------------------------------------
/// <summary>
/// Sets the current view of a target.
/// </summary>
/// <param name="multipleViewControl">
/// The current multiple view control.
/// </param>
/// <param name="viewID">
/// The view identifier from the supported views collection.
/// </param>
///--------------------------------------------------------------------
private void SetView(AutomationElement multipleViewControl, int viewID)
{
    if (multipleViewControl == null)
    {
        throw new ArgumentNullException(
            "AutomationElement parameter must not be null.");
    }

    // Get a MultipleViewPattern from the current control.
    MultipleViewPattern multipleViewPattern = 
        GetMultipleViewPattern(multipleViewControl);

    if (multipleViewPattern != null)
    {
        try
        {
            multipleViewPattern.SetCurrentView(viewID);
        }
        // viewID is not a member of the supported views collection
        catch (ArgumentException)
        {
            // TO DO: error handling
        }
    }
}
'/--------------------------------------------------------------------
'/ <summary>
'/ Sets the current view of a target.
'/ </summary>
'/ <param name="multipleViewControl">
'/ The current multiple view control.
'/ </param>
'/ <param name="viewID">
'/ The view identifier from the supported views collection.
'/ </param>
'/--------------------------------------------------------------------
Private Sub SetView( _
ByVal multipleViewControl As AutomationElement, _
ByVal viewID As Integer)
    If multipleViewControl Is Nothing Then
        Throw New ArgumentNullException( _
        "AutomationElement parameter must not be null.")
    End If

    ' Get a MultipleViewPattern from the current control.
    Dim multipleViewPattern As MultipleViewPattern = _
    GetMultipleViewPattern(multipleViewControl)

    If Not (multipleViewPattern Is Nothing) Then
        Try
            multipleViewPattern.SetCurrentView(viewID)
        Catch exc As ArgumentException
            ' viewID is not a member of the supported views collection
            ' TO DO: error handling
        End Try
    End If
End Sub

Remarks

View identifiers can be retrieved by using GetSupportedViews.

The control-specific collection of view identifiers is identical across instances.

Applies to