這個要用API,網(wǎng)上抄的代碼如下,如果你一點都不會API也是白搭
創(chuàng)新互聯(lián)專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、潛山網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5、商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為潛山等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
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
你可以這樣做,設(shè)置窗體的TopMost 屬性為真!
Me.TopMost = True
Form.TopMost 屬性
獲取或設(shè)置一個值,指示該窗體是否應(yīng)顯示為最頂層窗體。
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)
Dim myval
窗口置前:
myval = SetWindowPos(form1.hwnd, -1, 0, 0, 0, 0, 3)
窗口正常:
myval = SetWindowPos(form1.hwnd, -2, 0, 0, 0, 0, 3)
你是不是用的Visual Studio來開發(fā)的?如果是,這樣操作:打開 項目 菜單 中的 XXX屬性,在彈出的屬性頁選擇最上面那個 應(yīng)用程序 標簽,里面有個啟動窗體,你選擇一下就可以了。
如果你不是用的visual Studio來開發(fā)的,那么可以考慮把另外一個窗口的visible屬性先設(shè)置為false或者把你要顯示的窗口改為對話框的形式,大小比另外一個窗口大一點或者一樣(即 模態(tài)窗口,必須關(guān)閉才能繼續(xù)操作),這樣都可以實現(xiàn)你要的效果。
這是一個關(guān)于模態(tài)窗口與非模態(tài)窗口的問題。
實現(xiàn)非模態(tài)窗口也沒什么難度
Dim form As New Form1
form.TopMost = True
form.Show()
你再將鼠標移到父窗口上,彈出的窗口也不會消失。
這個簡單啊,引用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ù)的第一個參數(shù)是根據(jù)實際情況改變的,它要求你給它傳送一個窗口的句柄,這里的 Me.hwnd 就給函數(shù)傳送了當前窗口的句柄,也就是將當前窗口前置或取消前置。如果要前置其他窗口,那么請向函數(shù)傳送其他窗口的句柄,這個可以根據(jù):FindWindow API函數(shù)獲取。希望采納意見,謝謝。。。