1. 程式人生 > >模式與非模式窗體

模式與非模式窗體

      窗體分為模式的和非模式的,只有模式和非模式兩種,簡單點說,當你以模式方式開啟一個視窗,你只能在將其關閉以後才能操作另外的視窗.但非模式視窗顯示時,你可以同時操作這兩個視窗.
       模式的——使使用者只能使用當前窗體,只有當前窗體關閉後其他窗體才可用;可以這樣理解,如果你把某個窗體設為模式窗體,那麼你要想對其它窗體進行任何操作之前,必須先關閉該窗體。模式窗體強迫使用者輸入資料,不能切換到其他介面,很多地方會用到,比如在瀏覽器裡點檔案——開啟,還有列印對話方塊也是模式窗體。有模式視窗或稱模態視窗,Msgbox、Inputbox產生的視窗也屬於此類。
      非模式的——可以切換到其他窗體,vbModal=1,可選的。一個整數,它用以決定窗體是模式還是無模式 。如果 style 為 0,則窗體是無模式的;如果 style 為 1,則窗體是模式的。
       當 Show 在顯示無模式窗體時,隨後遇到的程式碼則要執行。當 Show 在顯示模式窗體 (modal form) 時,則隨後的程式碼直到該窗體被隱藏或解除安裝時才能執行。
       當 Show 在顯示模式窗體時,除了模式窗體中的物件之外不能進行輸入(鍵盤或滑鼠單擊)。對其它窗體進行輸入前程式必須隱藏或解除安裝模式窗體(通常是處於響應使用者某些操作狀態)。MDIForm 不能是形式的。在模式窗體顯示時,雖然應用程式中的其它窗體失效,但其它應用程式不會失效。