Hola
giovani_loera eso lo puede controlar con un
NotifyIcon si es que manejas un MDI. De manera que cuando minimizas este MDI se esconja en un icono en la Barra de Tareas, y cuando le des doble clic al icono que le hayas asignado se abra el MDI.
Ahora con respecto a que si ya tienes una aplicacion abierta y no quieres que se habra otra eso lo puedes controlar en el
Program.cs en el metodo Main() de esta manera :
Código C:
Ver original[STAThread]
static void Main()
{
// Obtiene el nombre del proceso de nuestra aplicacion que se esta ejecutando
string processName = Process.GetCurrentProcess().ProcessName;
Process[] instances = Process.GetProcessesByName(processName);
if (instances.Length > 1)
{
MessageBox.Show("La aplicación ya se está ejecutando.", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return;
}
else
{
Application.Run(new TUFORMULARIO());
}
}
Ahora te explico lo del notifyicon. Mientras trata de implementar la restriccion de doble ejecucion. Saludos!

.