你可以這樣做,設(shè)置窗體的TopMost 屬性為真!
新興網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)從2013年開始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
Me.TopMost = True
Form.TopMost 屬性
獲取或設(shè)置一個(gè)值,指示該窗體是否應(yīng)顯示為最頂層窗體。
你是不是用的Visual Studio來開發(fā)的?如果是,這樣操作:打開 項(xiàng)目 菜單 中的 XXX屬性,在彈出的屬性頁選擇最上面那個(gè) 應(yīng)用程序 標(biāo)簽,里面有個(gè)啟動(dòng)窗體,你選擇一下就可以了。
如果你不是用的visual Studio來開發(fā)的,那么可以考慮把另外一個(gè)窗口的visible屬性先設(shè)置為false或者把你要顯示的窗口改為對話框的形式,大小比另外一個(gè)窗口大一點(diǎn)或者一樣(即 模態(tài)窗口,必須關(guān)閉才能繼續(xù)操作),這樣都可以實(shí)現(xiàn)你要的效果。
這個(gè)簡單啊,引用API函數(shù)SetWindowPos就可以解決。下面看看我的代碼:
Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Const SWP_NOMOVE = H2
Const SWP_NOSIZE = H1
Const FLAG = SWP_NOMOVE Or SWP_NOSIZE
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const HWND_TOP = 0
Const HWND_BOTTOM = 1
將窗口設(shè)置最前:Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAG)
取消窗口的最前:Call SetWindowPos(Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAG)
函數(shù)的第一個(gè)參數(shù)是根據(jù)實(shí)際情況改變的,它要求你給它傳送一個(gè)窗口的句柄,這里的 Me.hwnd 就給函數(shù)傳送了當(dāng)前窗口的句柄,也就是將當(dāng)前窗口前置或取消前置。如果要前置其他窗口,那么請向函數(shù)傳送其他窗口的句柄,這個(gè)可以根據(jù):FindWindow API函數(shù)獲取。希望采納意見,謝謝。。。
在某些情況下我們需要某個(gè)窗體總是在所有窗體的最前端,我們可以使用Form1.show
1來實(shí)現(xiàn),但是這樣會(huì)出現(xiàn)一個(gè)問題,就是使整個(gè)程序暫停運(yùn)行,直到Unload
Form1后程序才會(huì)繼續(xù)運(yùn)行.
那么如何使我的窗口總在最前?而不影響到我的整體程序運(yùn)行呢?
使用api函數(shù)
SetWindowPos
可以很容易的作到。
SetWindowPos
就是完成設(shè)置窗口位置和狀態(tài)(pos=position)的功能。源代碼如下:
Option
Explicit
Private
Declare
Function
SetWindowPos
Lib
"user32"
(ByVal
hwnd
As
Long,
ByVal
hWndInsertAfter
As
Long,
ByVal
x
As
Long,
ByVal
y
As
Long,
ByVal
cx
As
Long,
ByVal
cy
As
Long,
ByVal
wFlags
As
Long)
As
Long
Private
Const
HWND_TOPMOST
=
-1
'
將窗口置于列表頂部,并位于任何最頂部窗口的前面
Private
Const
SWP_NOSIZE
=
H1
'
保持窗口大小
Private
Const
SWP_NOMOVE
=
H2
'
保持窗口位置
Private
Sub
Form_Load()
SetWindowPos
Me.hwnd,
HWND_TOPMOST,
0,
0,
0,
0,
SWP_NOMOVE
Or
SWP_NOSIZE
'
將窗口設(shè)為在所有窗口前端
End
Sub