Hola esta solucion es como mejor teniendo en cuenta que cuando buscas algo podes utilizar un formulario con datos que ya ha ingresado el usuario y por ende si cierras la ventana pues se pierden esos datos.
la idea es la siguiente en tu form principal llamas al nuevo formulario de la siguiente manera
frmbuscar.ShowDialog(this);
frmbuscar es tu formulario de busqueda, el ShowDialog es que lo muestre y no deje que se interactue con el form padre hasta que se termine la busqueda y el this es el formulario padre que se envia como parametro para que el form buscar quede con ese from padre de dueño
luego en el form dueño creas una propiedad donde se va a recibir la busqueda
y finalmente lo que haces es crear una variable y asignarle la propiedad Owner de tu form buscar
y listo
Cita: Formularios Frm = (Formularios)this.Owner;
Frm.txt= Valor;
this.Close();