title: How to access controls by Name with SilkTest?
body: <p>We have an automated test suite, using Borland Silk Test 2008 R2 to carry out regression tests of a new in-house product.</p>
  
  <p>The test script consistently refers to controls by their index:</p>
  
  <pre><code>Form.Control3 ...
  </code></pre>
  
  <p>We've made a "minor" change to the main form of the application, and now the control that used to have index 3 has index 4.</p>
  
  <p>The easy, but tedious, fix is to edit the scripts to reference <code>Control4</code> instead of <code>Control3</code>, but this remains pretty brittle.</p>
  
  <p><strong>How do we instead identify the controls by name - so instead of referencing <code>Control3</code> we specify "the control named <em>ribbon</em>".</strong> </p>
  
  <p>(We believe that referencing things by name will be significantly less brittle.)</p>
  
  <p>We've tried the obvious:</p>
  
  <pre><code>Form.ribbon
  </code></pre>
  
  <p>which doesn't execute at all.</p>
  
  <p>The primitive intellisense in the editor doesn't show much of use - no <code>Controls</code> property, no <code>GetXX</code> or <code>FindXX</code> methods.</p>
  
  <p>Our application is written using C# on .NET 3.5, and does make use of third party controls.</p>