>string s = LastFormReference.GetType().FullName; >//Save s then on startup use it thus: >Form lf = (Form) System.Activator.CreateInstance(Type.GetType(s)); >>But you wanted to retain parameter values as well and you can't pass parameters with CreateInstance which is why I suggested serializing the form. If you use XML serialization only public properties are serialized and since forms tend not to have a large public interface it should be easy to keep the XML pretty small.