Don't create a new instance each time: reuse the current.
This should help:
Transferring information between two forms, Part 1: Parent to Child[
^]
But...
Add a class level Registration variable:
private Registration frmReg = null;
Then, when you need to open the form, do this:
if (frmReg == null)
{
frmReg = new Registration();
frmReg.FormClosing += frmReg_FormClosing;
}
And add a simple handler:
void frmReg_FormClosing(object sender, FormClosingEventArgs e)
{
frmReg = null;
}
That way, you have a record of the current instance, and if it's closed, you throw it away for next time.
You can then add a property to the Registration form which takes an Image and app it to it:
if (frmReg != null)
{
frmReg.UserPicture = myImage;
}