This tutorial will show you how to make your windows forms application only one instance at run-time in C#.NET.

To make restrict the application to just one instance, you should get all actives process, then check your application name with the active process as the following code

public bool IsSingleInstance()
     foreach (Process proc in Process.GetProcesses())
          if (proc.MainWindowTitle == this.Text)
               return false;
     return true;

You can see your process name in task manager

Don't forget to add a namespace to System.Diagnostics

using System.Diagnostics;

Open your program class, then check your instance as shown below

static class Program
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    static void Main()
        Application.Run(new frmMain());

Each time you open the application, we will check your application is running