gpt4 book ai didi

c# - 如何通过 RangeValuePattern 从 AutomationElement 中获取微调器的值?

转载 作者:太空宇宙 更新时间:2023-11-03 15:37:26 25 4
gpt4 key购买 nike

我试图从微调器中获取值,以检查它是否通过 C# 中的 AutomationElement 正确输入。我目前正在做的是尝试通过 TryGetCurrentPattern 获取它,如下所示,但是它只返回 0.0 作为值,尽管在微调器中显示了不同的值(例如 1)。

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

此外,我在查看 valueRangePattern.Current 时注意到,尽管微调器受到限制,但最大值和最小值字段也始终为 0.0。我还尝试从微调器中获取 ValuePattern,但它不会进入 if 语句 if (spinnerAutoEle.TryGetCurrentPattern(ValuePattern.Pattern, out pattern))。是否可以通过这种方式从 Spinner 中获取数值?

最佳答案

Windows 窗体不支持微调器控件 (NumericUpDown) 的自动化。实际上,它支持但它给你错误的值(value)观。使用像 FlaUI 这样的库来获取微调器的值。这是通过 Win32 消息完成的(将消息 WM_GETTEXT 发送到微调器内的编辑窗口)。最好的问候。

关于c# - 如何通过 RangeValuePattern 从 AutomationElement 中获取微调器的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31342719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com