怎么做到让程序窗口始终显示在桌面最上层,即始终掩盖在其他打开的窗口之上?(求C#实现代码)

2024年11月29日 13:47
有1个网友回答
网友(1):

[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);

///



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

///


///


[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);
这样,新打开的窗体就是置顶了。