WindowPattern.WindowPatternInformation.IsModal 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得值,這個值指定 AutomationElement 是否為強制回應。
public:
property bool IsModal { bool get(); };
public bool IsModal { get; }
member this.IsModal : bool
Public ReadOnly Property IsModal As Boolean
屬性值
如果 AutomationElement 為強制回應,則為 true
;否則為 false
。
範例
在下列範例中, WindowPattern 會從 AutomationElement 取得控制項模式,並接著用來指定 的 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