The Dll will need to have a reference to the exe's project (or a 3rd project that defines the base-class or interface) that both the exe and the dll reference) in order to get members at design time.
If you can't do that you are stuck using reflection to call members.
If you only need to access base Form members from the dll you can declare the argument as Form
instead of Form1
. This would let you call things like .Close
.