国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

vb.net 防止MDI子窗體被多次實(shí)例化的四種方法

2024-07-10 13:00:41
字體:
供稿:網(wǎng)友
方法一
            可能沒有什么實(shí)用性,只適合簡(jiǎn)單項(xiàng)目:
       dim frmtmp as classform        "實(shí)現(xiàn)已經(jīng)設(shè)計(jì)好了一個(gè)稱作(類名為)classform的表單       
       frmtmp = new classform          "在此定義它的一個(gè)實(shí)例

        frmtmp.showdialog()                "作為模式窗體顯示
這樣在當(dāng)前窗體沒有關(guān)閉以前,其他form上的菜單按鈕都不可用,巧妙使用可以避免多次實(shí)例化的問題。
方法二
          只適用于,form不是特別多,且多運(yùn)行時(shí)占用內(nèi)存沒有特殊要求的場(chǎng)合
         在項(xiàng)目運(yùn)行時(shí),分別定義每個(gè)可能用到的form的實(shí)例,但不顯示,只有在需要顯示的時(shí)候每次調(diào)用,x.show(x為想顯示的form實(shí)例名),關(guān)閉的時(shí)候使用x.hide即可。
方法三
        分別定義每個(gè)需要顯示的form類的全局變量,在實(shí)際顯示窗體前使用以下代碼:
      if frm is nothing orelse frm.isdisposed then
            frm = new form1
            frm.show()
        else
            frm.activate()
        end if
方法四
       本方法特別適用于多文檔界面:
        dim frmtmp as form
      "搜索每個(gè)mdi子窗體一般打開的子窗體不會(huì)太多,所以不存在速度問題
       for each frmtmp in me.mdichildren
          "if 找到你想顯示的classfrm窗體
            if typeof frmtmp is classfrm then
                frmtmp.activate()
                exit sub
            end if
        next
        "如果mdi子窗體中沒有你想顯示的窗體
        "則定義新的實(shí)例,并顯示。
        frmtmp = new classfrm400
        frmtmp.mdiparent = me
        frmtmp.show()

在項(xiàng)目中,因?yàn)閠reeview的影響,使得傳統(tǒng)的方法不能實(shí)現(xiàn)子窗體位于頂層,弄了好久,最后用.showdialog()來實(shí)現(xiàn)的。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 博爱县| 新竹市| 甘德县| 颍上县| 昌都县| 晋中市| 资阳市| 阿拉善盟| 扎兰屯市| 时尚| 保康县| 阿坝| 九寨沟县| 洞头县| 瑞金市| 崇仁县| 金溪县| 甘孜县| 延寿县| 扎鲁特旗| 增城市| 花莲市| 晋中市| 乌鲁木齐市| 翼城县| 娄烦县| 舟曲县| 神木县| 五指山市| 阳朔县| 吴旗县| 襄城县| 建湖县| 温泉县| 通河县| 嘉禾县| 广宗县| 竹溪县| 信阳市| 攀枝花市| 中山市|