让窗体在最上面的方法是有两种方法:
方法一:
/// <summary>
/// 窗体总在前端显示
/// </summary>
/// <param name="hwnd">窗体的句柄</param>
/// <param name="hWndInsertAfter">窗口句柄。在窗口列表中,窗口hwnd会置于这个窗口句柄的后面</param>
/// <param name="x">窗口新的x坐标</param>
/// <param name="y">窗口的新的y坐标</param>
/// <param name="cx">窗口的宽度</param>
/// <param name="cy">窗口的高度</param>
/// <param name="wFlags"></param>
/// <returns></returns>
[DllImport("user32.dll", EntryPoint = "SetWindowPos")]
public static extern int SetWindowPos(
IntPtr hwnd,
int hWndInsertAfter,
int x,
int y,
int cx,
int cy,
int wFlags
);
在
private void FrmLock_Load(object sender, EventArgs e)
{
//窗体总在前端显示
SetWindowPos( this.Handle, -1, 0, 0, this.Width , this.Height , 0);
}
方法二是:
//============================================
先声明
/// <summary>
/// 让窗体在最前面
/// </summary>
public const int HWND_TOPMOST = -1;
[DllImport("user32", EntryPoint = "SetWindowPos")]
public static extern bool SetWindowPos(int hwnd,int hWndInsertAfter,int x,int y,int cx,int cy,uint wFlags);
//=====================================================================
再 时间事件下写如下代码:
#region 设置窗体在最上面PAI
//
private void timer2_Tick(object sender, EventArgs e)
{
SetWindowPos(this.Handle.ToInt32(),HWND_TOPMOST,0,0,0,300,1);
}
#endregion