簡(jiǎn)單一點(diǎn)的方式是,在MDI主窗體內(nèi)添加一個(gè)picturebox控件,然后在這個(gè)picturebox中添加一個(gè)image控件。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的倉山網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
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
既然子窗體都有同名函數(shù),就應(yīng)該對(duì)子窗體進(jìn)行一層封裝,子類實(shí)現(xiàn)不同方法
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()
這樣的話你就不要直接把子窗口show出來,先在父窗口創(chuàng)建一個(gè)子窗口對(duì)象的變量,通過實(shí)例化該變量達(dá)到創(chuàng)建子窗口的目的,然后在下次又要打開子窗口時(shí)也可以通過該變量關(guān)閉原有的子窗口
示例代碼如下(假設(shè)Form1為父窗口,F(xiàn)orm2為子窗口):
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變量,你可以很輕易就處理掉原來已經(jīng)打開但隱藏著的子窗口了
直接添加一個(gè)MID父窗體或在已有窗體的屬性中找到IsMDIContainer屬性,然后設(shè)置為True,然后創(chuàng)建第二個(gè)窗體 ,需要加載子窗體的時(shí)候:
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
'如果沒有任何一個(gè)MDI子窗體,則創(chuàng)該MDI子窗體的窗體實(shí)例
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
'檢測(cè)到有該MDI子窗體,設(shè)為激活?并退出循環(huán)
frmyn?=?True
tempChild.BringToFront()
Exit?For
Else
frmyn?=?False
End?If
Next
If?Not?frmyn?Then
'在打開的窗體中沒檢測(cè)到則新建
Dim?MDIChildFrm?As?Windows.Forms.Form?=?MDIChildForm?'?定義MDI子窗體
MDIChildFrm.MdiParent?=?MDIForm?'指定父窗體
MDIChildFrm.Show()?'打開窗體
End?If
End?If
End?Sub
本文標(biāo)題:子窗口VB.net 子窗口調(diào)用父窗口方法
分享鏈接:http://vcdvsql.cn/article22/dopehcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、動(dòng)態(tài)網(wǎng)站、品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、App設(shè)計(jì)、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)