作者Pheolina (努力賺錢~~)
看板C_Sharp
標題[問題] 請問ShowDialog
時間Tue Oct 7 11:40:42 2008
各位好,第一次在本版發文,還請多指教。
我是剛使用C#的新手,我想請問一下,
若我今天有A、B兩個FORM,我想要在A以ShowDialog的方式叫出B,
然後B上有個Button以及TextBox,我希望在B按下Button後去判斷
TextBox上是否有值,再決定是否要將Form B關閉
我原先想法是,在Button的Click事件上去判斷TextBox,然後再來設定
其Button.DialogResult為None(不關閉)或是其他值,
然而這方法卻行不通....我發現每次這樣設定的時候,Button.DialogResult
總要等到下次Button Click之後才會起效用,後來我查詢了MSDN中關於DialogResult的解釋
"The form's DialogResult property is then set to the DialogResult of the
button when the button is clicked."
如果我理解的沒錯,他是在按下去的當下,就已經設定好該Parent Form(也就是我的B)
的DialogResult,而我處理的Click事件已經在這之後才發生,所以才會看不到我想要的效果。
所以想請問,若是這樣的情況下,我該如何實現這樣的功能呢?謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.166.173
→ Pheolina:自己推一下,找到方法了@@,應該是設定Form的DialogResul 10/07 12:03
→ Pheolina:而不是Button的,不好意思。 10/07 12:03
→ hpo14:this.DialogResult = XXXXXX 10/07 20:26