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