vb.net子窗口 vb窗口设计怎么做

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

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

创新互联建站成立于2013年,先为宕昌等服务建站,宕昌等地企业,进行企业商务咨询服务。为宕昌企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

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 如何完全关闭子窗口的所有进程?在线等~

这样的话你就不要直接把子窗口show出来,先在父窗口创建一个子窗口对象的变量,通过实例化该变量达到创建子窗口的目的,然后在下次又要打开子窗口时也可以通过该变量关闭原有的子窗口

示例代码如下(假设Form1为父窗口,Form2为子窗口):

Form1的代码:

Public

Class

Form1

Dim

nform

As

Form2

=

Nothing

Private

Sub

Button1_Click(ByVal

sender

As

System.Object,

ByVal

e

As

System.EventArgs)

Handles

Button1.Click

If

nform

IsNot

Nothing

Then

nform.Close()

nform.Dispose()

End

If

nform

=

New

Form2

nform.Show()

Me.Hide()

End

Sub

End

Class

通过nform变量,你可以很轻易就处理掉原来已经打开但隐藏着的子窗口了

vb.net mdiform的父窗口调用子窗口的函数

既然子窗体都有同名函数,就应该对子窗体进行一层封装,子类实现不同方法

Public MustInherit Class AbstractChild

Public MustOverride Sub Method1()

End Class

Public Class ChildClass1

Inherits AbstractChild

Public Overrides Sub Method1()

MessageBox.Show("class1")

End Sub

End Class

Public Class ChildClass2

Inherits AbstractChild

Public Overrides Sub Method1()

MessageBox.Show("class2")

End Sub

End Class

Public Class ChildClass3

Inherits AbstractChild

Public Overrides Sub Method1()

MessageBox.Show("class3")

End Sub

End Class

Dim child1 As New ChildClass1()

Dim child2 As New ChildClass2()

Dim child3 As New ChildClass3()

child1.Method1()

child2.Method1()

child3.Method1()

当前标题:vb.net子窗口 vb窗口设计怎么做
网页链接:https://www.cdcxhl.com/article32/dopdspc.html

成都网站建设公司_创新互联,为您提供定制开发网页设计公司App开发企业网站制作外贸建站移动网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司