网站建设资讯

NEWS

网站建设资讯

vb.net窗体类 vb窗体属性大全

如何给VB.NET窗体添加子窗体?

直接添加一个MID父窗体或在已有窗体的属性中找到IsMDIContainer属性,然后设置为True,然后创建第二个窗体 ,需要加载子窗体的时候:

梧州网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联2013年开创至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。

Dim NewMDIChild As New Form2

NewMDIChild.MdiParent = Me

NewMDIChild.Show()

Public Shared Sub CheckMDIChildForm(ByVal MDIForm As Windows.Forms.Form, ByVal MDIChildForm As Windows.Forms.Form, ByVal MDIChildFormName As String)

If MDIForm.MdiChildren.Length  1 Then

'如果没有任何一个MDI子窗体,则创该MDI子窗体的窗体实例

Dim MDIChildFrm As Windows.Forms.Form = MDIChildForm ' 定义MDI子窗体

MDIChildFrm.MdiParent = MDIForm '指定父窗体

MDIChildFrm.Show() '打开窗体

Exit Sub

Else

Dim x As Integer

Dim frmyn As Boolean

For x = 0 To (MDIForm.MdiChildren.Length) - 1

Dim tempChild As Windows.Forms.Form = CType(MDIForm.MdiChildren(x), Windows.Forms.Form)

If tempChild.Name = MDIChildFormName Then

'检测到有该MDI子窗体,设为激活 并退出循环

frmyn = True

tempChild.BringToFront()

Exit For

Else

frmyn = False

End If

Next

If Not frmyn Then

'在打开的窗体中没检测到则新建

Dim MDIChildFrm As Windows.Forms.Form = MDIChildForm ' 定义MDI子窗体

MDIChildFrm.MdiParent = MDIForm '指定父窗体

MDIChildFrm.Show() '打开窗体

End If

End If

End Sub

vb.net中怎么可以让窗体全屏显示?

Me.Height = My.Computer.Screen.Bounds.Height

Me.Width = My.Computer.Screen.Bounds.Width

这是设置窗体的长宽和屏幕的分辨率一样大小,相当于全屏。

如果Me.WindowState=FormWindowState.Maximized的话,只是单纯的将窗体最大化,但恢复窗口大小后窗体的大小实际上还和原来一样大。

VB.NET的特点

1.真正成为面向对象以及支持继承性的语言。

2.窗体设计器支持可视化继承,并且包含了许多新的特性,比如自动改变窗体大小、资源本地化支持、数据类工具内在支持XML数据。

3.直接建立在.NET的框架结构上,因此开发人员可以充分利用所有.NET平台特性,也可以与其他的.NET语言交互。

4.为Windows应用程序提供了XCOPY部署,开发者不再需要为DLL的版本问题担忧。

VB.NET怎么可以限制窗体不能被鼠标随便拖动位置

很简单,通过WindowsAPI,删除窗体菜单项就行了

首先在窗体类中声明API:

Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr

Declare Function RemoveMenu Lib "user32" (ByVal lngHmenu As IntPtr, ByVal nPosition As Integer, ByVal wFlags As Integer) As Integer

其次声明API参数常量:

Const MF_BYPOSITION As Integer = H400

然后在窗体类中写入过程:

Private Sub UserForm_Initialize_stopmove() '禁止窗体移动

  Dim lngHwnd As IntPtr

  Dim lngHmenu As IntPtr

  lngHwnd = Me.Handle

  If lngHwnd 0 Then

      lngHmenu = GetSystemMenu(lngHwnd, False)

      RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '这里的0代表菜单中从上往下数第一个菜单项

  End If

End Sub

Private Sub UserForm_Initialize_onmove() '恢复窗体移动

  Dim lngHwnd As IntPtr

  Dim lngHmenu As IntPtr

  lngHwnd = Me.Handle

  If lngHwnd 0 Then

      lngHmenu = GetSystemMenu(lngHwnd, True)

RemoveMenu(lngHmenu, 0, MF_BYPOSITION) '这里的0与禁止代码中的数值同步,原因时虽然表面上删除了菜单项,实则为隐藏了菜单项,各个菜单的索引值并没有变,所以0依然代表初始菜单的第一个菜单项,即被删除的那个菜单项

  End If

End Sub

然后如果你的窗口菜单是动态变化的,建议声明常数:

Const MF_BYPOSITION As Integer = H0

然后使用相关的Windows功能的常数进行删除菜单。常数需要自行查看winuser.h头文件

如果找不到该头文件,可以看这里:网页链接

其余信息详见MSDN:网页链接

最后说一下,不建议前面网友说的重写WndProc的方法,因为这样拦截标题栏点击消息会导致窗体本身的菜单也无法显示出来,有损窗体功能,并且像双击左上角图标关闭窗体这样的功能也会跟着拦截消息的操作一起被吞掉。

VB.NET怎么调用别的窗体!

在 VB.NET 中,你编好的窗体仅仅是一个类而已,不像 VB6,窗体本身就是一个对象。就是说,如果要显示窗体,你需要将你编的窗体类实例化对一个对象,然后再调用这个对象:

Dim frm As New frmDlg ' 将 frmDlg 窗体类实例化为对象 frmfrm.Show() ' 将实例化的对象显示出来


分享标题:vb.net窗体类 vb窗体属性大全
文章来源:http://cdweb.net/article/dojjsip.html