Selecting WPF Checkbox - Codoid
Select Page
Codoid Blog

Selecting WPF Checkbox

Irrespective of the business that your client is in, marketing is an integral part of their operations. In fact, in this day and age of social.

In this article, we will see how to select WPF Checkbox using TogglePattern class which is available in UI Automation pattern.

Code

Function SelectCheckbox(ByVal inWindowHwnd,ByVal strCheckBoxName)
Dim oTreeScope, oAutomationElement,oControlType
Dim oTogglePattern, oInptr, oPropertyCondition

Set oControlType=DotNetFactory.CreateInstance("System.Windows.Automation.ControlType","UIAutomationTypes")
Set oTreeScope=DotNetFactory.CreateInstance("System.Windows.Automation.TreeScope","UIAutomationTypes")
Set oAutomationElement=DotNetFactory.CreateInstance("System.Windows.Automation.AutomationElement","UIAutomationClient")
Set oPropertyCondition=DotNetFactory.CreateInstance("System.Windows.Automation.PropertyCondition","UIAutomationClient",oAutomationElement.NameProperty,strCheckBoxName)
Set oTogglePattern=DotNetFactory.CreateInstance("System.Windows.Automation.TogglePattern","UIAutomationClient")
Set oInptr=DotNetFactory.CreateInstance("System.IntPtr","",inWindowHwnd)
Set oAutomationElement=oAutomationElement.FromHandle(oInptr)
Set oTogglePattern=oAutomationElement.FindAll(oTreeScope.Children,oPropertyCondition)(0).GetCurrentPattern(oTogglePattern.Pattern)

oTogglePattern.Toggle

Set oTreeScope=Nothing 
Set oAutomationElement=Nothing
Set oControlType=Nothing
Set oTogglePattern=Nothing
Set oInptr=Nothing
Set oPropertyCondition=Nothing
End Function

Dim inWindowHandle

inWindowHandle=Window("text:=List of Products").GetRoProperty("hwnd")

SelectCheckbox inWindowHandle,"Show only bargains"

  

Synopsis

Once the above code is executed, “Show only bargains” checkbox will be checked. This “SelectCheckbox” function will check the checkbox if it is already unchecked and vice versa. So it is always recommended to make sure whether the checkbox is checked or not using the “ToggleState” property before calling the function. The ToggleState property for the object can be retrieved as given below.

Msgbox oTogglePattern.current.ToggleState  

This implementation for the checkbox is as same as selecting a radio button but the only difference is Toggle Pattern is used for Checkbox.

Written By

Submit a Comment

Your email address will not be published. Required fields are marked *


In this article, we will see how to select WPF Checkbox using TogglePattern class which is available in UI Automation pattern.

Code

Function SelectCheckbox(ByVal inWindowHwnd,ByVal strCheckBoxName)
Dim oTreeScope, oAutomationElement,oControlType
Dim oTogglePattern, oInptr, oPropertyCondition

Set oControlType=DotNetFactory.CreateInstance("System.Windows.Automation.ControlType","UIAutomationTypes")
Set oTreeScope=DotNetFactory.CreateInstance("System.Windows.Automation.TreeScope","UIAutomationTypes")
Set oAutomationElement=DotNetFactory.CreateInstance("System.Windows.Automation.AutomationElement","UIAutomationClient")
Set oPropertyCondition=DotNetFactory.CreateInstance("System.Windows.Automation.PropertyCondition","UIAutomationClient",oAutomationElement.NameProperty,strCheckBoxName)
Set oTogglePattern=DotNetFactory.CreateInstance("System.Windows.Automation.TogglePattern","UIAutomationClient")
Set oInptr=DotNetFactory.CreateInstance("System.IntPtr","",inWindowHwnd)
Set oAutomationElement=oAutomationElement.FromHandle(oInptr)
Set oTogglePattern=oAutomationElement.FindAll(oTreeScope.Children,oPropertyCondition)(0).GetCurrentPattern(oTogglePattern.Pattern)

oTogglePattern.Toggle

Set oTreeScope=Nothing 
Set oAutomationElement=Nothing
Set oControlType=Nothing
Set oTogglePattern=Nothing
Set oInptr=Nothing
Set oPropertyCondition=Nothing
End Function

Dim inWindowHandle

inWindowHandle=Window("text:=List of Products").GetRoProperty("hwnd")

SelectCheckbox inWindowHandle,"Show only bargains"

  

Synopsis

Once the above code is executed, “Show only bargains” checkbox will be checked. This “SelectCheckbox” function will check the checkbox if it is already unchecked and vice versa. So it is always recommended to make sure whether the checkbox is checked or not using the “ToggleState” property before calling the function. The ToggleState property for the object can be retrieved as given below.

Msgbox oTogglePattern.current.ToggleState  

This implementation for the checkbox is as same as selecting a radio button but the only difference is Toggle Pattern is used for Checkbox.