簡體   English   中英

如何確保已單擊該按鈕?

[英]How to make sure that button has been clicked?

有沒有一種簡單的方法來檢查是否按下了我的“確定”按鈕? 在大多數情況下,它運行良好,但是每100個失敗了:

AutomationElement rl = SomeMethod();
if (rl.Current.Name == "OK" && rl.Current.ControlType == ControlType.Button)
{
    InvokePattern click = (InvokePattern)rl.GetCurrentPattern(InvokePattern.Pattern);
    click.Invoke();
}

我想知道為什么。

要在按下按鈕后獲得通知,可以通過以下方式注冊AutomationEventHandler:

Automation.AddAutomationEventHandler(InvokePattern.InvokedEvent, AutomationElement yourAE,TreeScope.Element, new AutomationEventHandler(OnStartInvoke));

private static void OnStartInvoke(object src, AutomationEventArgs e)
{
    //logic
}

您可以使用它來驗證是否還單擊了該按鈕。 調用調度程序中的按鈕(具有一定的超時時間),直到輸入OnStartInvoke。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM