vb.net窗體再最前面 vb窗體顯示在最前面怎么設(shè)置

請(qǐng)問在VB中怎樣使一個(gè)窗體運(yùn)行時(shí)始終保持在最前?

這個(gè)簡(jiǎn)單啊,引用API函數(shù)SetWindowPos就可以解決。下面看看我的代碼:

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、魯?shù)榫W(wǎng)絡(luò)推廣、小程序定制開發(fā)、魯?shù)榫W(wǎng)絡(luò)營(yíng)銷、魯?shù)槠髽I(yè)策劃、魯?shù)槠放乒P(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供魯?shù)榻ㄕ?/a>搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:muchs.cn

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)前窗口前置或取消前置。如果要前置其他窗口,那么請(qǐng)向函數(shù)傳送其他窗口的句柄,這個(gè)可以根據(jù):FindWindow API函數(shù)獲取。希望采納意見,謝謝。。。

VB.net如何設(shè)置程序運(yùn)行時(shí)最先打開的窗體?

你是不是用的Visual Studio來開發(fā)的?如果是,這樣操作:打開 項(xiàng)目 菜單 中的 XXX屬性,在彈出的屬性頁選擇最上面那個(gè) 應(yīng)用程序 標(biāo)簽,里面有個(gè)啟動(dòng)窗體,你選擇一下就可以了。

如果你不是用的visual Studio來開發(fā)的,那么可以考慮把另外一個(gè)窗口的visible屬性先設(shè)置為false或者把你要顯示的窗口改為對(duì)話框的形式,大小比另外一個(gè)窗口大一點(diǎn)或者一樣(即 模態(tài)窗口,必須關(guān)閉才能繼續(xù)操作),這樣都可以實(shí)現(xiàn)你要的效果。

vb的窗體怎么顯示在最前端?

在某些情況下我們需要某個(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

VB.NET如何讓彈出的窗體顯示在所有的窗體的最前面(包括其他程序打開的窗體)

你可以這樣做,設(shè)置窗體的TopMost 屬性為真!

Me.TopMost = True

Form.TopMost 屬性

獲取或設(shè)置一個(gè)值,指示該窗體是否應(yīng)顯示為最頂層窗體。

vb如何將窗體設(shè)置在屏幕最前?

有一個(gè)Api函數(shù)···代碼我等會(huì)給你···呵呵·· 好了···在下面···

Option Explicit

'控制任務(wù)欄的隱藏和顯示的函數(shù)。函數(shù)的參數(shù)分別為 窗體句柄 窗體顯示方式 窗體坐標(biāo) 窗體坐標(biāo) 窗體坐標(biāo) 窗體坐標(biāo) 函數(shù)工作方式標(biāo)志

'用于確定窗體顯示形式的常數(shù)為 hwnd_topmst=-1 將窗體保持在最前面 hwnd_notopmost=-2 不將窗體寶石在最前面

'swap_nosize=h1 窗體裝入時(shí)不改變?cè)谐叽?swap_nomove=h2 窗體裝入時(shí)保持原窗體設(shè)計(jì)師在屏幕上的位置

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_nosize = H1

Const swp_nmove = H2

Private Sub Form_Load()

SetWindowPos Me.hwnd, hwnd_topmost, 0, 0, 0, 0, swp_nosize Or swp_nmove

'只有swp_nosize的時(shí)候大小不變但位置移到了左上角即(0,0)點(diǎn);只有swp_nmove時(shí)位置不變但大小相當(dāng)于為零;

'這里的“或”的關(guān)系是“邏輯加”,因?yàn)?001或0010為0011,1+2=3.這里不能用and,用and便為兩個(gè)都為1才為1,所以結(jié)果為0000

End Sub

vb窗體總是在最前面的設(shè)置

先調(diào)用

API函數(shù)

實(shí)現(xiàn)窗體總在最上,代碼如下:

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

Private

Sub

Form_Load()

'總在最上

SetWindowPos

Me.hwnd,

HWND_TOPMOST,

Me.Left

/

Screen.TwipsPerPixelX

_

,

Me.Top

\

Screen.TwipsPerPixelY,

Me.Width

\

Screen.TwipsPerPixelX,

_

Me.Height

\

Screen.TwipsPerPixelY,

End

Sub

然后在顯示這個(gè)窗體時(shí)用模態(tài),例如:

假設(shè)上面的窗體為Form1

Form1.Show

vbModal

這樣窗體不僅會(huì)在最上,而且必須輸入正確的密碼才能訪問別的窗體

當(dāng)前標(biāo)題:vb.net窗體再最前面 vb窗體顯示在最前面怎么設(shè)置
分享URL:http://muchs.cn/article20/hphsjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、定制開發(fā)、網(wǎng)站內(nèi)鏈、標(biāo)簽優(yōu)化網(wǎng)站導(dǎo)航、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)