BringToFront() doesn't do what you hope it does, it only arranges windows owned by the same application. To get in front of windows owned by other applications you need to use Activate() instead. Which often fails, you can't steal the focus away, but not a problem when you click on a NotifyIcon you own. Fix:
private void noi_MouseDoubleClick(object sender, MouseEventArgs e)
{
Activate();
}