How to organize C# classes
<p>Is there a general practice when it comes to how to organize your classes in C#?  Should there only be one generic class per .cs file?  I see that I have Form1.cs which includes all of the classes relevant to "Form1".  However I could create a file named Misc.cs which includes all misc classes.  Not sure which way to go so everything stays organized.</p>

<p>Or should I organize them a specific way?  For example, I am accessing a MySQL database, so i'm creating a MySQL wrapper which I will store in MysqlWrapper.cs and name the class to match it.  Should I create a new .cs for each class I create?  </p>

<p>Or should I combine only the ones that use similar "using" namespaces such as System.Text;
using System.Windows.Forms; etc?</p>
