使用WINDOWS API SetWindowPos函數(shù)來設(shè)置,在Form_Load中加入,如下示例即可:
成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、外貿(mào)網(wǎng)站建設(shè)的開發(fā),更需要了解用戶,從用戶角度來建設(shè)網(wǎng)站,獲得較好的用戶體驗。成都創(chuàng)新互聯(lián)多年互聯(lián)網(wǎng)經(jīng)驗,見的多,溝通容易、能幫助客戶提出的運營建議。作為成都一家網(wǎng)絡公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇成都創(chuàng)新互聯(lián),不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價值服務。
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?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?
?Const?HWND_TOPMOST?=?-1?
?Const?SWP_SHOWWINDOW?=?H40?
Private?Sub?Form_load()?
Dim?retValue?As?Long?
retValue?=?SetWindowPos(Me.hwnd,?HWND_TOPMOST,?Me.CurrentX,?
?Me.CurrentY,?300,?300,?SWP_SHOWWINDOW)?
End?Sub
這樣窗體就能保持在所有窗體的前面了。
SetWindowPos函數(shù)的定義和參數(shù):
使用API函數(shù)之前必須先在程序中聲明如下:
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
其中各參數(shù)的意義如下:
參數(shù) 意義
hwnd Long 欲定位的窗口
hWndInsertAfter Long 窗口句柄。在窗口列表中,窗口hwnd會置于這個窗口句柄的后面
x,y Long 窗口新的x,y坐標
cx,cy Long 指定新的窗口寬度和高度
wFlags Long 包含了旗標的一個整數(shù),是下列之一
返回值 Long 非零表示成功,零表示失敗
下面是部分wFlags參數(shù)和它們的意義:
參數(shù) 意義和使用方法
SWP_DRAWFRAME 圍繞窗口畫一個框
SWP_HIDEWINDOW 隱藏窗口
SWP_NOACTIVATE 不激活窗口
SWP_NOMOVE 保持當前位置 (x和y設(shè)定將被忽略) H2
SWP_NOREDRAW 窗口不自動重畫
SWP_NOSIZE 保持當前大小 (cx和cy會被忽略) H1
SWP_NOZORDER 保持窗口在列表的當前位置 (hWndInsertAfter將被忽略)
SWP_SHOWWINDOW 顯示窗口 H40
SWP_FRAMECHANGED 強迫一條WM_NCCALCSIZE消息進入窗口,即使窗口的大小沒有改變
shell加個參數(shù):
Shell("D:\Program Files\Microsoft Office\Office14\WINWORD.EXE", AppWinStyle.NormalFocus)
Private
Const
SWP_NOACTIVATE
=
H10
'不獲得焦點
Private
Const
SWP_NOMOVE
=
2
Private
Const
SWP_NOSIZE
=
1
Private
Const
Flags
=
SWP_NOMOVE
Or
SWP_NOSIZE
Or
SWP_NOACTIVATE
Private
Const
HWND_TOPMOST
=
-1
Private
Const
HWND_NOTOPMOST
=
-2
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
'設(shè)置窗口總在最前的函數(shù)
Public
Function
SetTopMostWindow(tHWND
As
Long,
Topmost
As
Boolean)
As
Long
If
Topmost
=
True
Then
SetTopMostWindow
=
SetWindowPos(tHWND,
HWND_TOPMOST,
0,
0,
0,
0,
Flags)
Else
SetTopMostWindow
=
SetWindowPos(tHWND,
HWND_NOTOPMOST,
0,
0,
0,
0,
Flags)
SetTopMostWindow
=
False
End
If
End
Function
'使form2窗口總在最前,但不讓form2獲得焦點
Private
Sub
Command1_Click()
SetTopMostWindow
Form2.hwnd,
True
End
Sub
文章名稱:vbnet窗口最前 vbnet關(guān)閉一個窗體
分享URL:http://www.muchs.cn/article14/docssge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、靜態(tài)網(wǎng)站、虛擬主機、網(wǎng)站收錄、網(wǎng)站內(nèi)鏈、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)