Hola,
A bote pronto se me ocurre implementar un método público en el "Form2" que reciba los parámetros que sean menester. En ese método público se puede llamar al método "Show" o "ShowModal" del propio "Form2", o, no hacerlo, y hacerlo desde donde sea menester. En todo caso, desde un "Form1", por ejemplo, podrías llamar al método público susomentado para pasarle los parámetros que necesites y hacer con ellos lo que tengas que hacer.
También podrías declarar propiedades en el "Form2" y darles el valor correspondiente desde precises en "Form2", de tal modo que luego en el propio "Form2", por ejemplo en sus eventos "OnCreate" u "OnShow", quien se encarge de tomar el valor de dichas propiedades y hacer lo que sea menester hacer. ¿Se me entendió algo?