InvokePattern.Invoke メソッド
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
要求を送信してコントロールをアクティブ化し、その 1 つの明確なアクションを開始します。
public:
void Invoke();
public void Invoke ();
member this.Invoke : unit -> unit
Public Sub Invoke ()
要素が InvokePattern コントロール パターンをサポートしていないか、非表示またはブロックされています。
この要素は有効ではありません。 UI オートメーション プロバイダーが IsEnabled プロパティの独自の処理を実装した場合に発生する可能性があります。
次の例では、 InvokePattern コントロールからコントロール パターンが取得され、 Invoke メソッドが呼び出されます。
///--------------------------------------------------------------------
/// <summary>
/// Obtains an InvokePattern control pattern from a control
/// and calls the InvokePattern.Invoke() method on the control.
/// </summary>
/// <param name="targetControl">
/// The control of interest.
/// </param>
///--------------------------------------------------------------------
private void InvokeControl(AutomationElement targetControl)
{
InvokePattern invokePattern = null;
try
{
invokePattern =
targetControl.GetCurrentPattern(InvokePattern.Pattern)
as InvokePattern;
}
catch (ElementNotEnabledException)
{
// Object is not enabled
return;
}
catch (InvalidOperationException)
{
// object doesn't support the InvokePattern control pattern
return;
}
invokePattern.Invoke();
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains an InvokePattern control pattern from a control
''' and calls the InvokePattern.Invoke() method on the control.
''' </summary>
''' <param name="targetControl">
''' The control of interest.
''' </param>
'''--------------------------------------------------------------------
Private Sub InvokeControl(ByVal targetControl As AutomationElement)
Dim invokePattern As InvokePattern = Nothing
Try
invokePattern = _
DirectCast(targetControl.GetCurrentPattern(invokePattern.Pattern), _
InvokePattern)
Catch e As ElementNotEnabledException
' Object is not enabled.
Return
Catch e As InvalidOperationException
' Object doesn't support the InvokePattern control pattern
Return
End Try
invokePattern.Invoke()
End Sub
を Invoke 呼び出す場合は、ブロックせずにすぐにが返されます。 ただし、この動作は、Microsoft UI オートメーション プロバイダーの実装に完全に依存します。 を呼び出すと Invoke ブロックの問題 (モーダル ダイアログなど) が発生するシナリオでは、 メソッドを呼び出すために別のヘルパー スレッドが必要になる場合があります。
製品 | バージョン |
---|---|
.NET Framework | 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, 4.8.1 |
Windows Desktop | 3.0, 3.1, 5, 6, 7, 8, 9 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。