WindowPattern.WindowPatternInformation.CanMinimize Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um valor que especifica se o AutomationElement atual pode ser minimizado.
public:
property bool CanMinimize { bool get(); };
public bool CanMinimize { get; }
member this.CanMinimize : bool
Public ReadOnly Property CanMinimize As Boolean
Valor da propriedade
true
se puder AutomationElement ser minimizado; caso contrário false
.
Exemplos
No exemplo a seguir, um WindowPattern padrão de controle é obtido de um AutomationElement e, posteriormente, é usado para especificar o estado visual do AutomationElement.
///--------------------------------------------------------------------
/// <summary>
/// Obtains a WindowPattern control pattern from an automation element.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <returns>
/// A WindowPattern object.
/// </returns>
///--------------------------------------------------------------------
private WindowPattern GetWindowPattern(AutomationElement targetControl)
{
WindowPattern windowPattern = null;
try
{
windowPattern =
targetControl.GetCurrentPattern(WindowPattern.Pattern)
as WindowPattern;
}
catch (InvalidOperationException)
{
// object doesn't support the WindowPattern control pattern
return null;
}
// Make sure the element is usable.
if (false == windowPattern.WaitForInputIdle(10000))
{
// Object not responding in a timely manner
return null;
}
return windowPattern;
}
'''------------------------------------------------------------------------
''' <summary>
''' Obtains a WindowPattern control pattern from an automation element.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A WindowPattern object.
''' </returns>
'''------------------------------------------------------------------------
Private Function GetWindowPattern(ByVal targetControl As AutomationElement) As WindowPattern
Dim windowPattern As WindowPattern = Nothing
Try
windowPattern = DirectCast( _
targetControl.GetCurrentPattern(windowPattern.Pattern), _
WindowPattern)
Catch
' object doesn't support the WindowPattern control pattern
Return Nothing
End Try
' Make sure the element is usable.
If False = windowPattern.WaitForInputIdle(10000) Then
' Object not responding in a timely manner
Return Nothing
End If
Return windowPattern
End Function 'GetWindowPattern
///--------------------------------------------------------------------
/// <summary>
/// Calls the WindowPattern.SetVisualState() method for an associated
/// automation element.
/// </summary>
/// <param name="windowPattern">
/// The WindowPattern control pattern obtained from
/// an automation element.
/// </param>
/// <param name="visualState">
/// The specified WindowVisualState enumeration value.
/// </param>
///--------------------------------------------------------------------
private void SetVisualState(WindowPattern windowPattern,
WindowVisualState visualState)
{
try
{
if (windowPattern.Current.WindowInteractionState ==
WindowInteractionState.ReadyForUserInteraction)
{
switch (visualState)
{
case WindowVisualState.Maximized:
// Confirm that the element can be maximized
if ((windowPattern.Current.CanMaximize) &&
!(windowPattern.Current.IsModal))
{
windowPattern.SetWindowVisualState(
WindowVisualState.Maximized);
// TODO: additional processing
}
break;
case WindowVisualState.Minimized:
// Confirm that the element can be minimized
if ((windowPattern.Current.CanMinimize) &&
!(windowPattern.Current.IsModal))
{
windowPattern.SetWindowVisualState(
WindowVisualState.Minimized);
// TODO: additional processing
}
break;
case WindowVisualState.Normal:
windowPattern.SetWindowVisualState(
WindowVisualState.Normal);
break;
default:
windowPattern.SetWindowVisualState(
WindowVisualState.Normal);
// TODO: additional processing
break;
}
}
}
catch (InvalidOperationException)
{
// object is not able to perform the requested action
return;
}
}
'''------------------------------------------------------------------------
''' <summary>
''' Calls the WindowPattern.SetVisualState() method for an associated
''' automation element.
''' </summary>
''' <param name="windowPattern">
''' The WindowPattern control pattern obtained from
''' an automation element.
''' </param>
''' <param name="visualState">
''' The specified WindowVisualState enumeration value.
''' </param>
'''------------------------------------------------------------------------
Private Sub SetVisualState(ByVal windowPattern As WindowPattern, _
ByVal visualState As WindowVisualState)
Try
If (windowPattern.Current.WindowInteractionState = _
WindowInteractionState.ReadyForUserInteraction) Then
Select Case visualState
Case WindowVisualState.Maximized
' Confirm that the element can be maximized
If ((windowPattern.Current.CanMaximize) & _
Not (windowPattern.Current.IsModal)) Then
windowPattern.SetWindowVisualState( _
WindowVisualState.Maximized)
End If
' TODO: additional processing
Case WindowVisualState.Minimized
' Confirm that the element can be minimized
If ((windowPattern.Current.CanMinimize) & _
Not (windowPattern.Current.IsModal)) Then
windowPattern.SetWindowVisualState( _
WindowVisualState.Minimized)
End If
' TODO: additional processing
Case WindowVisualState.Normal
windowPattern.SetWindowVisualState( _
WindowVisualState.Normal)
Case Else
windowPattern.SetWindowVisualState( _
WindowVisualState.Normal)
End Select
' TODO: additional processing
End If
Catch exc As InvalidOperationException
' object is not able to perform the requested action
Return
End Try
End Sub