該例運(yùn)行時(shí)前面板參見(jiàn)下圖。
圖 7 例5-14運(yùn)行狀態(tài)
該程序運(yùn)行后,就一直等待事件的發(fā)生。此時(shí),如果用鼠標(biāo)點(diǎn)擊門(mén)一次,則會(huì)彈出一個(gè)對(duì)話框,顯示“對(duì)不起,您敲錯(cuò)了!”參見(jiàn)下圖。
圖 8 第一次敲門(mén)
點(diǎn)擊對(duì)話框中的確定按鍵,則返回等待事件發(fā)生的狀態(tài)。參見(jiàn)下圖。
圖 9 第一次敲門(mén)后
如果第二次敲門(mén)事件發(fā)生,將會(huì)再次彈出一個(gè)新對(duì)話框,參見(jiàn)下圖。
圖 10 第二次敲門(mén)
第二次敲門(mén)后,彈出一個(gè)新的對(duì)話框顯示“錯(cuò)了,請(qǐng)不要再敲了!”。如果點(diǎn)擊對(duì)話框中的確定,再次進(jìn)入事件等待狀態(tài)。
第三次敲門(mén)后,將彈出一個(gè)新的對(duì)話框顯示“如果再敲,我就要報(bào)警了!”。參見(jiàn)下圖。
圖 11 第三次敲門(mén)
點(diǎn)擊對(duì)話框中的確定,再次進(jìn)入事件等待狀態(tài)。如果是再敲門(mén),就會(huì)彈出對(duì)話框顯示:“這里是110,我們正前往你那里!”。參看下圖。
圖 12 第四次敲門(mén)
以后再敲門(mén)將不斷重復(fù)上圖所示的內(nèi)容。這就是選擇“case 2”作為默認(rèn)值的結(jié)果。
用對(duì)話框作為事件的響應(yīng)并不是一個(gè)好的選擇,因?yàn)閷?duì)話框需要操作者及時(shí)處理,如果沒(méi)有及時(shí)處理,事件一直處于等待狀態(tài),這樣其它事件源發(fā)出的響應(yīng)就會(huì)產(chǎn)生堆積。所以在事件處理程序中應(yīng)該避免使用對(duì)話框。
從另一方面也間接的告訴我們,事件處理程序應(yīng)該盡可能的簡(jiǎn)潔、迅速,避免其它事件被堆積。
評(píng)論