Q:

In XNA, how do I get forms to display in front of my full-screen game?

I'm trying to open a form in front of my game, which is full-screen.  However, the form seems to appear only behind the game window.
At the moment, I'm doing this:
protected override void Update(GameTime gameTime)
    {
        if(Keyboard.GetState().IsKeyDown(Keys.Q))
        {
            graphics.IsFullScreen = true;
            graphics.ApplyChanges();
            new Form1().Show();
            // The form is empty, just created. 
        }
        base.Update(gameTime);
    }

I can reach the form with AltTab, but this is unfriendly to the user.
How can I do this correctly?

A:

Here is the solution for you: (which I use myself)
Form form = new Form();

form.SetBounds(100, 100, 800, 600);
form.TopMost = true;
form.Text = "Title";

form.Show(); //You can access to parent form.
//OR
form.ShowDialog(); //You can't access to parent form.

EDIT :
This is my method, which I use to make my game fullscreen. I find this method better than graphics.IsFullScreen.
[DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
public static extern IntPtr FindWindow(String className, String windowName);

[DllImport("user32.dll", SetLastError = true)]
static extern void SwitchToThisWindow(IntPtr hWnd, bool turnOn);

System.Windows.Form gameForm;

protected override void Initialize()
{
    /* ------ OPTIONAL ------ */
    graphics.PreferredBackBufferWidth = 1280;
    graphics.PreferredBackBufferHeight = 720;
    graphics.PreferMultiSampling = false;
    graphics.ApplyChanges();
    /* ---------------------- */

    System.Windows.Forms.Application.EnableVisualStyles();
    gameForm = (System.Windows.Forms.Form)System.Windows.Forms.Form.FromHandle(Window.Handle);
    gameForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
    //gameForm.TopMost = true;
    gameForm.WindowState = System.Windows.Forms.FormWindowState.Maximized;
    gameForm.Bounds = System.Windows.Forms.Screen.PrimaryScreen.Bounds;
    gameForm.GotFocus += new EventHandler(gameForm_GotFocus);
    base.Initialize();
}

void gameForm_GotFocus(object sender, EventArgs e)
{
    gameForm.WindowState = System.Windows.Forms.FormWindowState.Maximized;
    gameForm.Bounds = System.Windows.Forms.Screen.PrimaryScreen.Bounds;
}

protected override void LoadContent()
{
    //...
    gameForm.Focus();
    gameForm.BringToFront();
    SwitchToThisWindow(gameForm.Handle, true);
}

