子窗口VB.net 子窗口调用父窗口方法-成都快上网建站

子窗口VB.net 子窗口调用父窗口方法

vb.net设置mdi子窗口随父窗口的大小而变化

简单一点的方式是,在MDI主窗体内添加一个picturebox控件,然后在这个picturebox中添加一个image控件。

成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的仓山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

Picture1的属性:

1.Align=top

2.Appearance=flat

3.BordeStyle=None

4.TabStop=false

Image1的属性:

1.Stretch=true

在MDI窗体的resize事件中添加如下代码:

Private Sub MDIForm_Resize()

Me.Picture1.Height = Me.Height

End Sub

在Picture1控件的resize事件中添加如下代码:

Private Sub Picture1_Resize()

Me.Image1.Move 0, 0, Me.Picture1.Width, Me.Picture1.Height

End Sub

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

这样的话你就不要直接把子窗口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窗体添加子窗体?

直接添加一个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 子窗口调用父窗口方法
转载来于:http://kswjz.com/article/dopehcc.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流