title: ShortcutKey from string
body: <p>I want to provider user with option to set <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.toolstripmenuitem.shortcutkeys.aspx" rel="nofollow noreferrer"><code>ToolStripMenuItem.ShortcutKeys</code></a> via configuration file, so I've figured out that I need somehow transform <code>string</code> to <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.keys.aspx" rel="nofollow noreferrer"><code>Keys</code></a>.</p>
  
  <p>I've <a href="https://stackoverflow.com/questions/12449484/convert-string-to-corresponding-forms-keys-value">already found</a> how to do that for simple values using <a href="http://msdn.microsoft.com/en-us/library/essfb559.aspx" rel="nofollow noreferrer"><code>Enum.Parse</code></a>, but it won't recognize formats like:</p>
  
  <ul>
  <li><code>Ctrl+i</code> (with space at the end)</li>
  <li><code>i</code></li>
  <li><code>Ctrl+Alt+Esc</code></li>
  </ul>
  
  <p><strong>Q:</strong> Is there any <em>standardized</em> way of parsing stings (<code>Ctrl+i</code>) to <code>Keys</code>?</p>
  
  <p><em>I'd like to avoid writing my own function that will split text into pieces and then handle each case/special string separately.</em></p>