欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

.NET實(shí)現(xiàn)父窗體關(guān)閉而不影響子窗體的方法

 更新時(shí)間:2014年08月05日 10:21:45   投稿:shichen2014  
這篇文章主要介紹了.NET實(shí)現(xiàn)父窗體關(guān)閉而不影響子窗體的方法,很實(shí)用的功能,需要的朋友可以參考下

一般而言,在傳統(tǒng)的VB6中父子窗體(諸如“閃屏”窗體是“父窗體”加載內(nèi)容,然后啟動(dòng)自動(dòng)關(guān)閉,啟動(dòng)主窗體,是子窗體)的交互中,我們只需按照這樣的邏輯“按部照搬”地書(shū)寫(xiě)即可(假設(shè)“閃屏”窗體設(shè)置為啟動(dòng)窗體):

SplashScreen.Close()
MainForm.Show()

但是在VB.NET或者C#中卻不能這樣寫(xiě)。因?yàn)檫@樣寫(xiě)的結(jié)果是閃屏窗體“一閃而過(guò)”,接著啥也不會(huì)出現(xiàn)了。

究其原因,是因?yàn)镹ET中一切都是“類(lèi)”——閃屏窗體是一個(gè)類(lèi),這個(gè)類(lèi)內(nèi)部的某個(gè)事件內(nèi)部引用了“主窗體”這個(gè)類(lèi),并且把它創(chuàng)造出來(lái)?,F(xiàn)在你突然間關(guān)閉了“閃屏”窗體,意味著創(chuàng)建這個(gè)“主窗體”的UI線(xiàn)程被終止,自然屬于這個(gè)類(lèi)內(nèi)部的所有其它引用類(lèi)也就成了“無(wú)米之炊”——皮之不存,毛怎焉附?因此兩個(gè)窗體“一先一后”被關(guān)閉了。

解決此類(lèi)問(wèn)題的方法在于分離兩個(gè)窗體的創(chuàng)建線(xiàn)程——不讓主窗體通過(guò)閃屏窗體UI進(jìn)行創(chuàng)建。干脆創(chuàng)建一個(gè)前臺(tái)Thread(不能把IsBackGround設(shè)置為true,因?yàn)檫@樣會(huì)隨著閃屏窗體關(guān)閉而自行關(guān)閉?。?,然后在Thread內(nèi)部的委托中使用Application.Run(new 一個(gè)窗體實(shí)例))。

至于VB.NET中,除了可以用以上方法,還可以直接右鍵項(xiàng)目,做如下設(shè)置:

“關(guān)閉模式”是指代用何種方式關(guān)閉全部的程序(窗體)。默認(rèn)“當(dāng)啟動(dòng)窗體關(guān)閉”時(shí)(意味著哪個(gè)窗體是啟動(dòng)窗體,它關(guān)閉了,其余窗體都跟著自動(dòng)關(guān)閉)。當(dāng)然您也可以選擇“最后一個(gè)窗體關(guān)閉時(shí)”,這就意味著只有最后的窗體關(guān)閉的時(shí)候才是全部窗體關(guān)閉。因此應(yīng)該選這項(xiàng)。

相關(guān)文章

  • C#讀取XML中元素和屬性值的實(shí)現(xiàn)代碼

    C#讀取XML中元素和屬性值的實(shí)現(xiàn)代碼

    用C#讀取xml有很多方式,這里我就先使用XmlDocument讀取Xml,用一段代碼遍歷所有元素,并打印student的所有屬性和子節(jié)點(diǎn)的值
    2013-04-04
  • C# DataSet查看返回結(jié)果集的實(shí)現(xiàn)

    C# DataSet查看返回結(jié)果集的實(shí)現(xiàn)

    這篇文章主要介紹了C# DataSet查看返回結(jié)果集的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • C#窗體實(shí)現(xiàn)酒店管理系統(tǒng)

    C#窗體實(shí)現(xiàn)酒店管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C#窗體實(shí)現(xiàn)酒店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C#中LINQ?to?DataSet操作及DataTable與LINQ相互轉(zhuǎn)換

    C#中LINQ?to?DataSet操作及DataTable與LINQ相互轉(zhuǎn)換

    這篇文章介紹了C#中LINQ?to?DataSet操作及DataTable與LINQ相互轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • 基于WebRequest.RegisterPrefix的使用詳解

    基于WebRequest.RegisterPrefix的使用詳解

    本篇文章對(duì)WebRequest.RegisterPrefix的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C#生成驗(yàn)證碼圖片的方法

    C#生成驗(yàn)證碼圖片的方法

    這篇文章主要為大家詳細(xì)介紹了C#生成驗(yàn)證碼圖片的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • C# jpg縮略圖函數(shù)代碼

    C# jpg縮略圖函數(shù)代碼

    生成jpg縮略圖字節(jié),本人的小軟件中需要用到的功能,所以自己做了一個(gè)函數(shù),和大家分享 為什么要生成字節(jié)而不是文件,這是為了方便后續(xù)處理啦^_^
    2011-06-06
  • C#如何給word文檔添加水印

    C#如何給word文檔添加水印

    這篇文章主要為大家詳細(xì)介紹了C#如何給word文檔添加水印的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • C#實(shí)現(xiàn)封面圖片生成器的示例代碼

    C#實(shí)現(xiàn)封面圖片生成器的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用C#實(shí)現(xiàn)簡(jiǎn)單的封面圖片生成器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 淺談Async和Await如何簡(jiǎn)化異步編程(幾個(gè)實(shí)例讓你徹底明白)

    淺談Async和Await如何簡(jiǎn)化異步編程(幾個(gè)實(shí)例讓你徹底明白)

    本篇文章主要介紹了淺談Async和Await如何簡(jiǎn)化異步編程,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12

最新評(píng)論