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

你能写出样本代码吗? –