C# SetWindowPos窗口置顶使用说明

复制代码 代码如下:

  [DllImport("user32.dll", CharSet = CharSet.Auto)]

  private static extern int SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int y, int Width, int Height, int flags);

  /// <summary>

  /// 得到当前活动的窗口

  /// </summary>

  /// <returns></returns>

  [DllImport("user32.dll", CharSet = CharSet.Auto)]

  private static extern System.IntPtr GetForegroundWindow();

  哪个窗体想要置顶,在Form_Load中加上

  SetWindowPos(this.Handle, -1, 0, 0, 0, 0, 1 | 2); //最后参数也有用1 | 4 

  具体说明,看API函数说明

  如果是用点击一个按钮后弹出新窗体,并置顶,则:

  

复制代码 代码如下:

  Form2 frm = new Form2();

  frm.Show();

  SetWindowPos(GetForegroundWindow(), -1, 0, 0, 0, 0, 1 | 2);

  这样,新打开的窗体就是置顶了