title: C#: How to bind the text of a winforms button to a resource
body: <p>We have a resource file with lots of translated strings used various places in our application. Is there a better way for binding for example the text of a button to a certain string?</p>
  
  <p>Currently we are usually just doing something like this in the constructor, in a Load event handler or in a method called by one of those:</p>
  
  <pre><code>someButton.Text = CommonTexts.SomeString;
  someMenuItem.Text = CommonTexts.SomeOtherString;
  </code></pre>
  
  <p>Is there a better way to do it? Maybe in the designer? Or is this the recommended way of doing it?</p>
  
  <hr>
  
  <p>Just to let you know how we do the actual translation: We have one Class Library project which only contains resx files. The main resx files are written in english (of course). We then open up those base resx files in an application called <a href="http://www.papadi.gr/resex.aspx" rel="nofollow noreferrer">ResEx</a> where we (or someone else) does the translation to other languages. When compiled Visual Studio automatically creates assemblies for each language which are used automatically depending on the current culture set. This works pretty well, so I don't really need info on how to do the translation and such (although I am always curious to improvements of course). What I am asking is if there is a better way for getting those translated strings from the resource assembly and into all the various <code>Text</code> properties.</p>