InvokePattern.Invoke メソッド

定義

要求を送信してコントロールをアクティブ化し、その 1 つの明確なアクションを開始します。

public void 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();
}

注釈

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

こちらもご覧ください