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

C# DialogResult用法案例詳解

 更新時(shí)間:2021年08月27日 10:03:58   作者:weixin_30419799  
這篇文章主要介紹了C# DialogResult用法案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

在程序中,經(jīng)常會(huì)彈出一個(gè)對(duì)話框來(lái)讓用戶填寫一些信息,填寫完成后,當(dāng)用戶點(diǎn)擊“確定”按鈕后,在主窗體中進(jìn)行其他的處理。比如一個(gè)簡(jiǎn)單的例子,在主窗體中有一個(gè)菜單,是“增加用戶”,當(dāng)點(diǎn)擊這個(gè)菜單之后,我們需要彈出一個(gè)增加用戶的窗體出來(lái),就假設(shè)“增加用戶”的窗體叫frmAddUser,那么代碼如下:

frmAddUser frm = new frmAddUser();
   if (frm.ShowDialog() == DialogResult.OK)   
   {
    //todo list
   } 

一般都是設(shè)置“增加用戶”窗體中“確定”按鈕的DialogResult的屬性,

clip_image002

      設(shè)置完成后,只要用戶一點(diǎn)擊“確定”按鈕,那么對(duì)話框就關(guān)閉,重新回到主窗體,然后可以在主窗體中進(jìn)行相應(yīng)的處理,比如把數(shù)據(jù)寫入數(shù)據(jù)庫(kù)等。

      現(xiàn)在有一個(gè)問(wèn)題就是,“增加用戶”的窗體如下:

clip_image004

      如果我想判斷一下,用戶輸入的郵件格式是否正確,那么我該把這段代碼放在哪呢?如果放在郵件輸入框那個(gè)TextBox的TextChaged事件中,那么用戶輸入一個(gè)字母都會(huì)激發(fā)那個(gè)事件,這樣就不太好,如果放在“確定”按鈕的事件中,那么如果用戶的郵件格式輸入的不正確,就不應(yīng)該返回主窗體,而是繼續(xù)留在這個(gè)窗體上,等待用戶修改,可是事實(shí)卻不是這樣,因?yàn)槟阍O(shè)置了“確定”按鈕的Dialogue屬性,只要用戶一點(diǎn)擊按鈕,主窗體中的

if (frm.ShowDialog() == DialogResult.OK)

這個(gè)判斷就為真,不管你的郵件格式是否正確,主窗體都會(huì)繼續(xù)向下執(zhí)行。

      最后,終于找到了一個(gè)比較好的解決辦法,都以為只有Button才有Diagolue屬性,沒(méi)想到窗體也有這個(gè)屬性。所以我們根本就不需要設(shè)置“確定”按鈕的Diagolue屬性,直接把判斷郵件是否合格的方法放在”確定”按鈕的點(diǎn)擊事件中,如果符合,那么就設(shè)置窗體的Diagolue屬性為OK,用下面的代碼:

this.DialogResult = DialogResult.OK;

這樣主窗體中的if (frm.ShowDialog() == DialogResult.OK)這個(gè)判斷也為真,它會(huì)繼續(xù)執(zhí)行下面的代碼。如果不符合格式,就啥也不做,因?yàn)闆](méi)有設(shè)置窗體的Diagolue屬性為OK,所以“增加用戶”的對(duì)話框永遠(yuǎn)不會(huì)關(guān)閉,主窗體也會(huì)一直等待,而不會(huì)去執(zhí)行其他的代碼。

     例子比較簡(jiǎn)單,只是我原來(lái)不知道這些,所以在這里記錄一下。當(dāng)然這只是一種辦法,你也可以用其他的方法來(lái)解決類似這樣的問(wèn)題。

到此這篇關(guān)于C# DialogResult用法案例詳解的文章就介紹到這了,更多相關(guān)C# DialogResult用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何用C#驗(yàn)證IP是否為局域網(wǎng)地址

    如何用C#驗(yàn)證IP是否為局域網(wǎng)地址

    這篇文章主要介紹了如何用C#驗(yàn)證IP是否為局域網(wǎng)地址,文中講解非常細(xì)致,代碼幫助大家更好的參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • VS2012 未找到與約束ContractName匹配的導(dǎo)出

    VS2012 未找到與約束ContractName匹配的導(dǎo)出

    這篇文章主要介紹了在更新的windows補(bǔ)丁后,Visual Studio 用戶可能無(wú)法打開(kāi)或創(chuàng)建 C++ 或 JavaScript 文件或項(xiàng)目,小編的解決辦法,希望可以幫助到大家
    2018-04-04
  • C#怎樣實(shí)現(xiàn)文件下載斷點(diǎn)續(xù)傳

    C#怎樣實(shí)現(xiàn)文件下載斷點(diǎn)續(xù)傳

    這篇文章主要介紹了C#怎樣實(shí)現(xiàn)文件下載斷點(diǎn)續(xù)傳,對(duì)斷點(diǎn)續(xù)傳感興趣的同學(xué),可以參考下
    2021-04-04
  • C#打印PDF文檔的10種方法(小結(jié))

    C#打印PDF文檔的10種方法(小結(jié))

    這篇文章主要介紹了C#打印PDF文檔的10種方法(小結(jié)),可分多種情況來(lái)進(jìn)行,如設(shè)置靜默打印、指定打印頁(yè)碼范圍和打印紙張大小、雙面打印、黑白打印等等,一共分成10種等,感興趣的可以了解一下
    2019-04-04
  • C#中this用法系列(二) 通過(guò)this修飾符為原始類型擴(kuò)展方法

    C#中this用法系列(二) 通過(guò)this修飾符為原始類型擴(kuò)展方法

    定義一個(gè)靜態(tài)類,類中定義靜態(tài)方法,方法中參數(shù)類型前邊加上this修飾符,即可實(shí)現(xiàn)對(duì)參數(shù)類型的方法擴(kuò)展,下面通過(guò)實(shí)例代碼給大家介紹下,需要的朋友參考下吧
    2016-12-12
  • c# 從內(nèi)存中釋放Selenium chromedriver.exe

    c# 從內(nèi)存中釋放Selenium chromedriver.exe

    這篇文章主要介紹了c# 從內(nèi)存中釋放Selenium chromedriver.exe的方法,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2021-01-01
  • C# 中屬性PropertyInfo的setvalue用法說(shuō)明

    C# 中屬性PropertyInfo的setvalue用法說(shuō)明

    這篇文章主要介紹了C# 中屬性PropertyInfo的setvalue用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • C#中委托的基本概念介紹

    C#中委托的基本概念介紹

    這篇文章主要介紹了C#中委托的基本概念介紹,本文講解了委托的使用、委托類型和委托實(shí)例、委托的合并和刪除、委托是不易變的、委托調(diào)用列表、GetInvocationList等內(nèi)容,需要的朋友可以參考下
    2015-02-02
  • C# 靈活使用類的方法

    C# 靈活使用類的方法

    本文主要介紹了C# 靈活使用類的方法,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • C# readnodefile()不能讀取帶有文件名為漢字的osg文件解決方法

    C# readnodefile()不能讀取帶有文件名為漢字的osg文件解決方法

    這篇文章主要介紹了C# readnodefile()不能讀取帶有文件名為漢字的osg文件解決方法,需要的朋友可以參考下
    2015-09-09

最新評(píng)論