title: Auto-generate the code-behind name of designer collection items
body: <p>I have a custom control with a public collection marked as <code>DesignerSerializationVisibility.Content</code>.</p>
  
  <p>When I add items to the collection using the designer, it adds them to the designer file and assigns all desired values but it gives each element of the collection a generic name, such as <code>MyClass1</code>, <code>MyClass2</code>, etc.  I want the "Name" property of each item to become the code name of the item so that I can then access the item by its name in code.</p>
  
  <p>This is the functionality of how a ContextMenuStrip and ToolStrip works.  In those cases, the Name property shows up as <code>(Name)</code> in the property grid.</p>
  
  <p>Is there an attribute or something I can use to gain this functionality?  Or do I have to write a whole custom designer dialog?  If so, <strong>what's an example of the simplest way I could go about achieving this?</strong></p>