国产探花免费观看_亚洲丰满少妇自慰呻吟_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開發資源網站及技術社區,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尤溪县| 和林格尔县| 三原县| 江北区| 滦南县| 淮北市| 金华市| 和田市| 宣威市| 安塞县| 喜德县| 淳化县| 宝丰县| 东明县| 大同市| 通渭县| 长岛县| 健康| 白城市| 重庆市| 海门市| 巴青县| 南澳县| 尤溪县| 道真| 岚皋县| 郎溪县| 洞头县| 健康| 高青县| 洛扎县| 桐乡市| 德格县| 沁阳市| 银川市| 新巴尔虎右旗| 旌德县| 界首市| 凉城县| 琼中| 天等县|