2010年1月16日 星期六

VB .NET 如何取消(阻止) 表單關閉

在Windows的視窗中右上角有個X來讓使用者按下關閉,那麼要如何阻止表單關閉呢?在2008版之前,在closing event中可用e.cancel=true來阻止關閉行為,但在2008版的form物件並不存在closing event。然而有個onclosing event可以應用,但必須先在references中引入system.windows.presentation才會出現。因為onclosing函式是沒有內容的,所以必須用overrides覆寫,當使用者按下X後會引發onclosing event,在處理這個事件的函式中有被宣告為system.componentmodel.canceleventargs的類別e,設定e.cancel=true即可取消關閉的程序。

順便一提,ASSEditor又做了一些修改,主要是增加了日文和韓文的ANSI編碼。由於字元編碼的正確性是重點項目,所以對於不相容的編碼,ASSEditor會立即呈現出來。不像記事本,存檔前才要求使用者改以Unicode存檔。這是因為ASSEditor預設的編碼是Unicode,如果使用者不去變動自然不會有問題,但若被改用其他的ANSI編碼,就意味使用者對於編碼有一定認識。況且這樣的預設也是鼓勵使用Unicode,不再在使用傳統ANSI。對於編碼一致性有很大的幫助,減少ANSI檔案也就不用再猜它到底用何種編碼了。

0 意見: