| 发表于:2007-03-24 13:25:29 楼主 |
下面是代码 'mdichildform——需检测的窗体 'mdichildformname ——检测窗体的名字 private sub checkform(byval mdichildform as form, byval mdichildformname as string) if me.mdichildren.length < 1 then '如果没有任何一个mdi子窗体,则创该mdi子窗体的窗体实例 mdichildform.mdiparent = me mdichildform.show() 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 '在打开的窗体中没检测到则新建 mdichildform.mdiparent = me mdichildform.show() else '在打开的窗体中检测到则激活 dim mdichildfrm as form = ctype(me.mdichildren(x), form) mdichildfrm.activate() end if end if end sub private sub mifinfo_click(byval sender as system.object, byval e as system.eventargs) handles mifinfo.click dim frm as new frmfinfo() checkform(frm, "frmfinfo ") end sub private sub misinfo_click(byval sender as system.object, byval e as system.eventargs) handles misinfo.click dim frm as new frmsinfo() checkform(frm, "frmsinfo ") end sub 造成的结果是... 只能防止frmfinfo这个窗体的多开,也能检测也能激活,不会多开 而frmsinfo确还是能开多个,等于没防止一样... 大侠们出手帮帮...谢谢 |
|
|
|
|