vb.net打开子窗体,VB窗体文件

VB重复打开子窗体

VB.NET中,在访问窗体之前,你必须进行窗体实例化,然后才能打开,如:Dim frm1 As New Form1' frm1.MdiParent = Me ' 定义MDI子窗体frm.Show() '打开窗体如果在项目中有多处代码访问同一窗体,都这样的话,则会创建出

为延津等地区用户提供了全套网页设计制作服务,及延津网站建设行业解决方案。主营业务为成都网站制作、成都做网站、延津网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

VB.NET中,在访问窗体之前,你必须进行窗体实例化,然后才能打开,如:

Dim frm1 As New Form1

' frm1.MdiParent = Me ' 定义MDI子窗体

frm.Show() '打开窗体

如果在项目中有多处代码访问同一窗体,都这样的话,则会创建出不同的实例。如重防止重复打开MDI子窗体的实例呢?下面的代码可以帮你完成:

Dim frm1As New Form1

CheckForm(frm1, "Form1")

'*****************************************************************************'*过程名称:CheckForm

'*参数说明:MDIChildForm需检测的窗体;MDIChildFormName 检测窗体的名字

'*功能说明:首先检测是否有MDI子窗体,如果没有,则创该MDI子窗体的窗体实例

'* 如果有,则检测当中有没有其窗体实例,有则激活;没有则创建其窗体实例

'*****************************************************************************

Private Sub CheckForm(ByVal MDIChildForm As Form, ByVal MDIChildFormName As String)

If Me.MdiChildren.Length 1 Then

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

ShowForm(MDIChildForm )

Exit Sub

Else

Dim x As Integer

Dim frmyn As Boolean

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

Dim tempChild As Form = CType(Me.MdiChildren(x), Form)

If tempChild.Name = MDIChildFormName Then

frmyn = True

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

Exit For

Else

frmyn = False

End If

Next

If frmyn = False Then

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

ShowForm(tempForm)

Else

'在打开的窗体中检测到则激活

Dim MDIChildFrm As Form = CType(Me.MdiChildren(x), Form)

MDIChildFrm .Activate()

End If

End If

End Sub

'**************************************************

'*过程名称:ShowForm

'*参数说明:MDIChildForm 需创建实例的窗体

'*功能说明:创建窗体实例

'**************************************************

Private Sub ShowForm(ByVal MDIChildForm As Form)

Dim MDIChildFrm As Form = MDIChildForm

MDIChildFrm.MdiParent = Me ' 定义MDI子窗体

MDIChildFrm.Show() '打开窗体

End Sub

在VB.NET中,有一父窗体。启动子窗体。用鼠标拖动子窗体在父窗体中移动。现想限制父窗体移动位置,

首先设置父窗体属性IsMdiContainer为True,然后在父窗体打开子窗体的事件中:

ChildForm cf = new ChildForm();

cf.MdiParent = this;

cf.Show();

就可以了

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

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

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 怎么同时打开多个窗口?

在项目中右键点击添加窗体。在代码中需要显示该窗体的地方写入如下代码:“form2.show()”form2是你窗体的name属性……

VB.net实现打开子窗体后父窗体不可用,代码应该怎么写?

这不就是MDI吗?把主窗口的IsMdiContainer属性设置为True,然后在加载子窗口的时候加上一句:子窗口.MdiParent=主窗口然后再Show就行了.示例:PrivateSubb1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handlesb1.ClickDimfrmAsNewForm2frm.MdiParent=Mefrm.Show()EndSub

在VB.NET中,form1为父窗体,form3为子窗体,在父窗体中添加一菜单,用菜单打开子窗体,代码如下

我只问一点

父窗体

MdiParent属性

是否选择了true


文章名称:vb.net打开子窗体,VB窗体文件
网页网址:http://azwzsj.com/article/hcdsdi.html