<p>You should be able to create a generic form:</p>

<pre><code>public partial class MyGenericForm&lt;T&gt; :
    Form where T : class
{
    /* form code */
    public List&lt;T&gt; TypedList { get; set; }
}
</code></pre>

<p>Is valid C#, and compiles.  However the designer won't work and the form will throw a runtime exception if you have any images stating that it cannot find the resource.</p>

<p>I think this is because the windows forms designer assumes that the resources will be stored under the simple type's name.</p>

I have a hack to workaround this, which works but isn't ideal:
Add a new class to the project that inherits the form with its simple name.
```
```
internal class MyGenericForm:
    MyGenericForm<object> { }
```
```
This means that although the designer is still wrong the expected simple type (i.e without
```
<>
```
) is still found.