1

水平スクロールバーの値を -1 から -2 に変更しようとしています。私はそれにアクセスすることができます..しかし、次にその値を変更する必要があります..

AutomationElement _sideBar = _ClickButtonElement.FindFirst(TreeScope.Descendants, new PropertyCondition(AutomationElement.ClassNameProperty, "WindowsForms10.SCROLLBAR.app.0.378734a"));

_clickButtonElement は、スクロールバーの親ウィンドウの AutomationElement です。

4

2 に答える 2

1

スクロールバーは通常、RangeValuePatternをサポートしています。次のようなものを使用します:

RangeValuePattern range = scrollbar.GetCurrentPattern(RangeValuePattern.Pattern) as RangeValuePattern;
range.SetValue(50); // Set to half way point

通常、スクロールバーは内部値に関係なく0..100に正規化されることに注意してください。したがって、スクロールバーが内部で値-5から5を使用する場合、スクロールバーの中間点である0は、実際にはRangeValuePatternを介して50として公開されます。

検査ツールを使用して、正しい要素を取得していること、およびこのパターンもサポートしていることを確認することをお勧めします。コードを記述する前に、Inspectを使用してUIからRangeValue.SetValue()を呼び出すこともできます。

于 2012-06-13T09:08:53.367 に答える
0
AutomationElement aeForm = AutomationElement.FromHandle(windowPtr);

AutomationElementCollection buttonCollection = aeForm.FindAll(TreeScope.Descendants, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.ScrollBar));          

AutomationElement aeButton = buttonCollection[1];

RangeValuePattern rcpattern = (RangeValuePattern)aeButton.GetCurrentPattern(RangeValuePattern.Pattern);
rcpattern.SetValue(50.00);
于 2012-06-14T06:22:02.833 に答える