1

我試圖從它中獲取微調器中的值,以檢查它是否通過C#中的AutomationElement正確輸入。我目前正在做的是試圖通過TryGetCurrentPattern如下所示,但它只返回值爲0.0,儘管在微調器中顯示了不同的值(例如1)。如何通過RangeValuePattern從AutomationElement中獲取微調器的值?

if (spinnerAutoEle.TryGetCurrentPattern(RangeValuePattern.Pattern, out pattern)) 
{ 
    var valueRangePattern = (RangeValuePattern)pattern; 
    return valueRangePattern.Current.Value; 
} 

另外,我雖然微調被限制在valueRangePattern.Current尋找最高和最低值的字段時,總是會0.0也注意到了。我也嘗試從spinner獲得ValuePattern,但它不會進入if語句if (spinnerAutoEle.TryGetCurrentPattern(ValuePattern.Pattern, out pattern))。以這種方式可以將數值從Spinner中取出嗎?

+0

你有沒有得到答案,從我今天非常需要的任何地方 –

+0

@ noumanarshad看到我的回答 –

回答

0

我會建議使用Windows SDK附帶的Inspect工具檢查微調器的UI自動化樹的結構。我發現在某些情況下(例如一些微調控件的Winforms實現),並且根據您使用的是UI自動化的託管還是本機版本,微調控件可能由編輯框和自動化中的兩個按鈕構成樹通過編輯框和值模式訪問實際值。我意識到這是一個非常晚的答案,但也許它可以幫助某人。

+0

不..我做到了spinner問題也解決了 –

+0

處理程序獲得微調主窗口標題,因爲你得到的主窗口標題使用進程ID samilarly有更多的ID所以轉換句柄元素或使用該ID獲取我贏得文本,將給你sp內部文本,主要贏得冠軍的過程是基於身份證實際微調者也有身份證和常識是itys文本是標題 –

0

spinner id處理程序後處理程序獲取微調主窗口標題,因爲你得到的主窗口標題使用進程ID samilarly更薄有ID所以轉換句柄元素或使用該ID獲取mein勝文本,將給你微調文本,主要贏冠軍的過程是基於身份證實際微調者也有ID和常識是itys文本是標題

+0

你能寫出樣本代碼嗎? –