新建一個(gè)MDI窗體.(俗稱的父窗體)
10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有靈丘免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
然后把你想要變成子窗體的窗體(暈了)的MDIChild屬性改成True.
一個(gè)工程最多只能有一個(gè)MDI窗體.
要確立父子窗體,那子窗體必須繼承父窗體。實(shí)例化子窗體對(duì)象調(diào)用Show()方法。
希望采納
vb6建立主窗體的子窗體有兩種方法:
第一種方法是建立一個(gè)MDI窗體,然后把普通的form窗體設(shè)置成它的子窗體。
第二種方法是使用Windows API設(shè)置一個(gè)普通form窗體為另外一普通窗體的子窗體。
一、先來(lái)看看如何建立MDI窗體的子窗體:
1、啟動(dòng)vb6,新建一個(gè)標(biāo)準(zhǔn)EXE工程。
2、在“工程”菜單里選擇“添加MDI窗體”,
點(diǎn)擊“打開”,添加了一個(gè)MDIForm1窗體,
這步也可以工程窗口的窗體圖標(biāo)上右鍵完成。
3、在“工程”菜單里選擇“XXX 屬性”,
在彈出的窗口里把啟動(dòng)對(duì)象設(shè)成MDIForm1。
4、在form1的屬性窗口里,把MDIChild屬性設(shè)置為True。
5、在Private Sub MDIForm_Load()過程里添加form1.show。
6、運(yùn)行程序,看到設(shè)置已經(jīng)成功。
二、使用Windows API建立子窗體:
1、1、啟動(dòng)vb6,新建一個(gè)標(biāo)準(zhǔn)EXE工程。
2、在“工程”菜單里選擇“添加窗體”,
點(diǎn)擊“打開”,添加了一個(gè)form2窗體,
這步也可以工程窗口的窗體圖標(biāo)上右鍵完成。
3、雙擊form1窗體,在通用里加入以下windows API:
Private Declare Function SetParent Lib "user32.dll" ( _
ByVal hWndChild As Long, _
ByVal hWndNewParent As Long) As Long
4、在form1的Private Sub Form_Load()過程里加入
Form2.Show
SetParent Form2.hWnd, Form1.hWnd
Form2.Move 0, 0
5、運(yùn)行程序,可以看form2已經(jīng)是form1的子窗體了。
6、完整程序代碼如下:
Option Explicit
Private Declare Function SetParent Lib "user32.dll" ( _
ByVal hWndChild As Long, _
ByVal hWndNewParent As Long) As Long
Private Sub Form_Load()
Form2.Show
SetParent Form2.hWnd, Form1.hWnd
Form2.Move 0, 0
End Sub
直接添加一個(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
是窗體運(yùn)行時(shí)候自動(dòng)生成一個(gè)窗體,還是你在編寫時(shí)候手動(dòng)加?
如果是已經(jīng)存在的form2, 你可以在form2 load中 寫 me.mdiparent =form1 或者在 form1 中寫me.mdichildform = form2
如果是在運(yùn)行時(shí)新建的話,可以這樣寫
Dim form3 As New Form3
form3.MdiParent = Me
.....
其他屬性值
.....
form3.Show()
文章標(biāo)題:vb.net+新建子窗體 vb2010怎么新建窗體
轉(zhuǎn)載來(lái)源:http://m.rwnh.cn/article14/hpjege.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、網(wǎng)站導(dǎo)航、全網(wǎng)營(yíng)銷推廣、營(yíng)銷型網(wǎng)站建設(shè)、虛擬主機(jī)、網(wǎng)站設(shè)計(jì)公司
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)