title: How to disable a WinForms TreeView node checkbox?
body: <p>I need to be able to disable some of the checkboxes in a <code>TreeView</code> control of a WinForms application, but there's no such functionality built-in to the standard <code>TreeView</code> control.</p>
  
  <p>I am already using the <code>TreeView.BeforeCheck</code> event and cancel it if the node is disabled and that works perfectly fine. </p>
  
  <p>I also change the <code>ForeColor</code> of the disabled nodes to <code>GrayText</code>.</p>
  
  <p>Does anyone have a simple and robust solution?</p>