The CheckState property is read only. It changes automatically dependent on the node and node's child nodes Checked property values. This behavior is by design, because an indeterminate node state means that the node has checked and unchecked children. If setting this state manually was allowed, it could break the check box logic.
The correspondence table of Checked and CheckState property values is presented below.
Conditions (provided the CheckNodesRecursive is set to true)
The node has been checked or all its child nodes have been checked
The node has been unchecked or all its child nodes have been unchecked