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

首頁 > 開發 > 綜合 > 正文

多個窗體之間如何互相調用

2024-07-21 02:29:55
字體:
來源:轉載
供稿:網友

    在vb6中,多個窗體之間可以很方便地互相調用,如:在form1中,只需要用一條“form2.show” 語句就能顯示窗體form2。然而在vb.net中窗體處理機制發生了很大的變化:在訪問窗體之前,你必須進行窗體實例化;如果在項目中有多處代碼訪問同一窗體,則你必須把它的同一實例指針傳遞給這些代碼,否則新創建的窗體實例就不再是原先的窗體了。

    下面的代碼實現窗體form1和form2之間互相調用,form1為主窗體。form1上的按鈕btnshowfrm2的標題為“顯示form2”,form2上的按鈕btnshowfrm1的標題為“顯示form1”。

    1、form1中的代碼:

public class form1
 inherits system.<a href="http://dev.21tx.com/os/windows/" target="_blank">windows</a>.forms.form
 '創建form2的一個新的實例
 dim frm2 as new form2()

 public function instance2(byval frm as form2)
  frm2 = frm
 end function

 private sub btnshowfrm2_click(byval sender as system.object, byval e as system.eventargs) _
  handles btnshowfrm2.click
  '以下語句保證在form2以及其他窗體中訪問form1時,
  '都將得到form1的同一個窗體實例。
  frm2.instance(me)
  frm2.show()
  me.hide()
 end sub

end class

    2、form2中的代碼:

public class form2
 inherits system.windows.forms.form
 dim frm1 as form1
 '借助一個新增的instance屬性來生成窗體frm1的實例
 public function instance(byval frm as form1)
  frm1 = frm
 end function

 private sub btnshowfrm1_click(byval sender as system.object, byval e as system.eventargs) _
  handles btnshowfrm1.click
  me.hide()
  frm1.show()
 end sub

 private sub form2_closed(byval sender as object, byval e as system.eventargs) handles mybase.closed
  '如果form2被關閉,則設置form1的按鈕btnshowfrm2不可用。
  frm1.btnshowfrm2.enabled = false
  frm1.show()
 end sub
end class

中國最大的web開發資源網站及技術社區,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄢陵县| 措勤县| 望江县| 西和县| 砀山县| 固阳县| 乌什县| 涞源县| 长岛县| 信丰县| 河东区| 阿勒泰市| 荥阳市| 湘阴县| 鹤壁市| 鄂托克旗| 河东区| 泸州市| 祁东县| 诸城市| 新民市| 霞浦县| 永靖县| 广南县| 乐清市| 绩溪县| 铁岭市| 遂昌县| 抚州市| 利津县| 金门县| 罗江县| 元阳县| 额济纳旗| 双牌县| 竹山县| 根河市| 峨眉山市| 蓝田县| 潮安县| 海口市|