I'm trying to change Form position to center after changing from a primary screen on a secondary screen
private void Form2_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Space)
        {
             ff = !ff;
             if(ff)
                 showOnScreen(1,this);
             else
                 showOnScreen(0,this); 
        }
    }
void showOnScreen(int screenNumber,Form frm)
    {
        Screen[] screens = Screen.AllScreens;
        if (screenNumber >= 0 && screenNumber < screens.Length)
        {
            Location = screens[screenNumber].WorkingArea.Location;
            this.Location = new Point((screens[screenNumber].Bounds.Size.Width / 2) - (this.Size.Width / 2), (screens[screenNumber].Bounds.Size.Height / 2) - (this.Size.Height / 2));
        }
    }
The form is moved in center of screen but only in my primary screen
 
    