×

Vb.net中MDI子窗体对其父窗体属性的获取与修改

Kalet Kalet 发表于2009-03-20 12:00:14 浏览177 评论0

抢沙发发表评论

兄弟前些日子做项目,第一次使用vb.net,碰上不少问题,相信很多初学者多多少少都会遇到这些问题,为了初学者学习方便,小弟总结了一些小经验,供大家参考讨论。
第一篇:如何在MDI子窗体中控制父窗体的属性等等
功能:比如打开一个子窗体后,就要设置父窗体中的某个菜单项或者按钮为不可见状态,诸如此类。Vb.net中MDI子窗体对其父窗体属性的获取与修改
内容:
MDI父窗体和MDI子窗体类定义如下:
MDI父窗体:
Class MDIForm
Inherits System.Windows.Forms.Form
.........
'member mnuMain
Friend WithEvents mnuEditPaste As System.Windows.Forms.MenuItem
.......
'member
Friend WithEvents toolScan As System.Windows.Forms.ToolBarButton
private sub showChild()
dim frmTmp as new MDIChildFom'define a new instantce of MDIChildForm
frmTmp.MdiParent = me 'set the new form to be a Mdichild
frmTmp.show() 'show the new form
end sub
end Class
MDI子窗体:
Class MDIChildForm
.......
'set mnuEditPaste & toolScan cannot be seen Vb.net中MDI子窗体对其父窗体属性的获取与修改
private sub setMDIMnuToolUnvisible()
'***************************************'
' first method you can set a menuitem to be unvisible'
'***************************************'
'this method you could not control one MenuItem
'you can only set a group of menuitems
me.MdiParent.Menu.Menuitems(0).visible = False 'set the first group menuitem can not be seen
'with this method you have not right to modify toolScan

dim frmMdi as MDIForm
if tyhpeof me.MdiParent is MDIForm
frmMdi = DirectCast(me.Mdiparent, MDIForm)'get the instantce of me.MdiParent
'then you should access all the members of class MDIForm without private members
frmMdi.mnuEditPaste = False
frmMdi.toolScan = Flase
'like this you could do everything with MDIForm you want
end if

end sub
end ClassVb.net中MDI子窗体对其父窗体属性的获取与修改


群贤毕至

访客