网站建设资讯

NEWS

网站建设资讯

vb.net窗体再最前面 vb窗体显示在最前面怎么设置

请问在VB中怎样使一个窗体运行时始终保持在最前?

这个简单啊,引用API函数SetWindowPos就可以解决。下面看看我的代码:

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站设计、鲁甸网络推广、小程序定制开发、鲁甸网络营销、鲁甸企业策划、鲁甸品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供鲁甸建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

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

将窗口设置最前:Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAG)

取消窗口的最前:Call SetWindowPos(Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAG)

函数的第一个参数是根据实际情况改变的,它要求你给它传送一个窗口的句柄,这里的 Me.hwnd 就给函数传送了当前窗口的句柄,也就是将当前窗口前置或取消前置。如果要前置其他窗口,那么请向函数传送其他窗口的句柄,这个可以根据:FindWindow API函数获取。希望采纳意见,谢谢。。。

VB.net如何设置程序运行时最先打开的窗体?

你是不是用的Visual Studio来开发的?如果是,这样操作:打开 项目 菜单 中的 XXX属性,在弹出的属性页选择最上面那个 应用程序 标签,里面有个启动窗体,你选择一下就可以了。

如果你不是用的visual Studio来开发的,那么可以考虑把另外一个窗口的visible属性先设置为false或者把你要显示的窗口改为对话框的形式,大小比另外一个窗口大一点或者一样(即 模态窗口,必须关闭才能继续操作),这样都可以实现你要的效果。

vb的窗体怎么显示在最前端?

在某些情况下我们需要某个窗体总是在所有窗体的最前端,我们可以使用Form1.show

1来实现,但是这样会出现一个问题,就是使整个程序暂停运行,直到Unload

Form1后程序才会继续运行.

那么如何使我的窗口总在最前?而不影响到我的整体程序运行呢?

使用api函数

SetWindowPos

可以很容易的作到。

SetWindowPos

就是完成设置窗口位置和状态(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

'

将窗口设为在所有窗口前端

End

Sub

VB.NET如何让弹出的窗体显示在所有的窗体的最前面(包括其他程序打开的窗体)

你可以这样做,设置窗体的TopMost 属性为真!

Me.TopMost = True

Form.TopMost 属性

获取或设置一个值,指示该窗体是否应显示为最顶层窗体。

vb如何将窗体设置在屏幕最前?

有一个Api函数···代码我等会给你···呵呵·· 好了···在下面···

Option Explicit

'控制任务栏的隐藏和显示的函数。函数的参数分别为 窗体句柄 窗体显示方式 窗体坐标 窗体坐标 窗体坐标 窗体坐标 函数工作方式标志

'用于确定窗体显示形式的常数为 hwnd_topmst=-1 将窗体保持在最前面 hwnd_notopmost=-2 不将窗体宝石在最前面

'swap_nosize=h1 窗体装入时不改变原有尺寸 swap_nomove=h2 窗体装入时保持原窗体设计师在屏幕上的位置

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的时候大小不变但位置移到了左上角即(0,0)点;只有swp_nmove时位置不变但大小相当于为零;

'这里的“或”的关系是“逻辑加”,因为0001或0010为0011,1+2=3.这里不能用and,用and便为两个都为1才为1,所以结果为0000

End Sub

vb窗体总是在最前面的设置

先调用

API函数

实现窗体总在最上,代码如下:

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

然后在显示这个窗体时用模态,例如:

假设上面的窗体为Form1

Form1.Show

vbModal

这样窗体不仅会在最上,而且必须输入正确的密码才能访问别的窗体


网站栏目:vb.net窗体再最前面 vb窗体显示在最前面怎么设置
文章源于:http://cdweb.net/article/hphsjo.html