顯示選項
代碼決定對話框將如何裝入內存與如何顯示。下表描述各種類型的顯示任務以及用來執行這些任務的關鍵字。
Show方法裝入窗體并設置它的Visible屬性為True。傳遞給Show方法的參數標識了該對話框的類型。如果style參數省略或者設置為vbModeless或0(缺省),則對話框為無模式類型,如果style參數為vbModal或1,則對話框為模式類型。
當選取“確定”或“取消”退出對話框時,可使用Unload語句或者Hide方法。例如:
UnloadfrmAbout
-或者-
frmAbout.Hide
Unload語句把對話框從內存中刪除,而Hide方法只是通過設置對話框的Visible屬性為False將其從視窗中刪除。當卸載窗體時,該窗體本身以及它的控件都從內存中卸載(包括在運行時裝入的任何控件)。當隱藏窗體時,該窗體以及它的控件仍留在內存中。 當需要節省內存空間時,最好卸載窗體,因為卸載窗體可以釋放內存。如果經常使用對話框,可以選取隱藏窗體。隱藏窗體仍可以保留與它關聯的任何數據,包括屬性值、打印輸出和動態創建的控件。窗體被隱藏后,可以繼續從代碼中引用隱藏窗體的屬性與控件。
各種顯示類型的設計
MicrosoftWindows是與設備無關的-基于窗口的應用程序可以在許多不同顯示分辨率與顏色濃度的計算機中運行。同樣,用VisualBasic編寫的應用程序也會在不同類型的顯示器上運行,在設計應用程序時需要考慮到這一點。
設計與分辨率無關的窗體
缺省情況下,當改變屏幕分辨率時,MicrosoftVisualBasic不會改變窗體與控件的尺寸。這就意味著在分辨率為1024×768的屏幕上設計的窗體,在分辨率為640×480的屏幕中運行時會伸出屏幕的邊界之外。如果想創建不管使用什么樣的屏幕分辨率都能有相同比例的窗體和控件,必須在最低的分辨率下設計窗體,或者將改變窗體的代碼添加到程序中去。
避免尺寸問題的最簡單的方法是在640×480的分辨率下設計窗體。如果更喜歡在高一些的分辨率下工作,仍需要考慮窗體在低一些的分辨率下將如何顯示。實現這一點的方法是用“FormLayout”窗口預覽窗體的大小和位置。您也可以使用“ResolutionGuides”觀察在低分辨率時屏幕的哪些部分是可見的。要切換到“ResolutionGuides”,可以在“FormLayout”窗口單擊鼠標右鍵,從彈出菜單上選擇“ResolutionGuides”菜單項。
在運行時,VisualBasic根據設計時的位置來放置窗體。如果設計時在1024×768的分辨率上運行,并把窗體放到屏幕的右下角,則當它在比較低的分辨率下運行時該窗體可能看不見。為了避免這種情況的發生,在設計時可從“FormLayout”窗口的彈出菜單選擇“StartupPosition”菜單項來設置窗體的啟動位置。同樣,您也可以在運行時用下面的FormLoad事件中的代碼來設置窗體的位置:
PRivateSubForm_Load()
Me.Move0,0
EndSub
盡管設置窗體的Left與Top的屬性都為0也能有同樣的效果,但Move方法只要一步就能完成。
VisualBasic使用與設備無關的度量單位,緹,是用來計算尺寸與位置的單位。Screen對象的兩個屬性Tw …
EndSub
也需要知道在設計時VisualBasic自身窗口的位置。如果在高分辨率下把“工程”窗口放置到屏幕的右邊,那么會發現在低分辨率下打開工程時,它不再是可訪問的了。
設計不同濃度的顏色
在設計應用程序時,也需要考慮運行應用程序計算機可能的顏色顯示能力。有些計算機可以顯示256色或更多的顏色,而另一些只能顯示16種顏色。如果使用256色的調色板來設計窗體,那么在16色上顯示時,抖動(模仿無效顏色的一種方法)會使窗體上的一些元素消失。
為了避免這種情況,最好把應用程序使用的顏色局限于Windows標準的16種顏色。這些顏色由VisualBasic的顏色常數來表示(如vbBlack、vbBlue和vbCyan等等)。如果在應用程序中需要用16種以上的顏色,那么對于文本、按鈕以及其他界面元素仍然應當堅持用標準顏色。
設計時心里想著用戶
除非創建VisualBasic應用程序完全只供自己使用,否則創作的價值只能由其他人來評價。應用程序的用戶界面對用戶有極大的影響——無論代碼在技術上多么卓越,或者優化得多么的好,如果用戶發現應用程序很難使用,那么他們就難于很好地接受它。
作為程序員,毫無疑問,對計算機方面技術已非常熟悉。因而很容易忘記大多數用戶不理解(而且也許并不在意)隱藏在應用程序后面的技術。把應用程序看作達到目的工具:完成任務的方法想象中應比沒有計算機的幫助更容易。
一個設計得好的用戶界面把用戶與基礎技術隔離開來,從而使完成預定的任務變得很容易。在設計應用程序用戶界面的過程中,需要時時想到用戶。如何能無需指導就發現應用程序的各種各樣的功能?當錯誤發生時,應用程序如何響應?在幫助或輔助用戶方面將提供些什么?設計是否以一種藝術美來使用戶高興?以上這些問題的答案以及其他有關用戶為中心的設計問題,在本節中都將涉及到。
界面設計的基礎
不必成為創建用戶界面的藝術家——大多數用戶界面設計的原則,與任意一門基礎藝術課中所講授的基礎設計的原則相同。構圖、顏色等的基本的設計原則,就像它們應用在紙張或油畫上一樣,也能很好地在一臺計算機的屏幕上應用。
雖然VisualBasic能通過簡單地將控件拖動并放置到窗體上而使得創建用戶界面非常容易,但是,在設計之前稍微計劃一下就能使應用程序的可用性有很大地改觀。可能需先在紙上畫出窗體開始設計,決定需要哪些控件,不同元素的相對重要性,以及控件之間的關系。
構圖:應用程序的觀感與感覺
窗體的構圖或布局不僅影響它的美感,而且也極大地影響應用程序的可用性。構圖包括諸如控件的位置、元素的一致性、動感、空白空間的使用以及設計的簡單性等因素。
控件的位置
在大多數界面設計中,不是所有的元素都一樣重要。仔細地設計是很有必要的,以確保越是重要的元素越要很快地顯現給用戶。重要的或者頻繁訪問的元素應當放在顯著的位置上,而不太重要的元素就應當降級到不太顯著的位置上。
在大多數語言中我們習慣于在一頁之中從左到右、自上到下地閱讀。對于計算機屏幕也如此,大多數用戶的眼睛會首先注視屏幕的左上部位,所以最重要的元素應當放在屏幕的左上部位。例如,如果窗體上的信息與客戶有關,則它的名字字段應當顯示在它能最先被看到的地方。而按鈕,如“確定”或“下一個”,應當放置在屏幕的右下部位;用戶在未完成對窗體的操作之前,通常不會訪問這些按鈕。
把元素與控件分成組也很重要。盡量把信息按功能或關系進行邏輯地分組。因為他們的功能彼此相關,所以定位數據庫的按鈕應當被形象地分成一組,而不是分散在窗體的四處。對信息也是一樣,名字字段與地址通常分在一組,因為它們聯系緊密。在許多情況下,可以使用框架控件來幫助加強控件之間的聯系。
界面元素的一致性
在用戶界面設計中,一致性是一種優點。一致的外觀與感覺可以在應用程序中創造一種和諧,任何東西看上去都那么協調。如果界面缺乏一致性,則很可能引起混淆,并使應用程序看起來非常混亂、沒有條理、價值降低,甚至可能引起對應用程序可靠性的懷疑。
為了保持視覺上的一致性,在開始開發應用程序之前應先創建設計策略和類型約定。諸如控件的類型、控件的尺寸、分組的標準以及字體的選取等設計元素都應該在事先確定。可以創建設計樣板來幫助進行設計。
在VisualBasic中有大量的控件可供使用,這可能引起有人想使用所有的控件。為了避免這種引誘,選取能很好地適合特定應用程序的控件子集。雖然列表框、組合框、網格以及樹等控件都可用來表示信息列表,最好還是盡可能使用一種類型。
還有,盡量恰當地使用控件,雖然TextBox控件可以設置成只讀并用來顯示文本,但Label控件通常更適用于該目的。在為控件設置屬性時請保持一致性,如果在一個地方為可編輯的文本使用白色背景,除非有很好的理由,否則不要在別的地方又使用灰色。
在應用程序中不同的窗體之間保持一致性對其可用性有非常重要的作用。如果在一個窗體上使用了灰色背景以及三維效果,而在另一個窗體上使用白色背景,則這兩個窗體就顯得毫不相干。選定一種類型并在整個應用程序保持一致,即使這意味著要重新設計某些功能。
動感:窗體與其功能匹配
動感是對象功能的可見線索。雖然對這個術語也許還不熟悉,但動感的實例四處可見。自行車上的把手,手放在它的上面,動感會將把手用手扣緊這件事顯現出來。按下按鈕、旋轉旋鈕和點亮電燈的開關等都能進行動感表示,一看到它們就可以看出其用處。
用戶界面也使用動感。例如,用在命令按鈕上的三維立體效果使得他們看上去像是被按下去的。如果設計平面邊框的命令按鈕的話,就會失去這種動感,因而不能清楚地告訴用戶它是一個命令按鈕。在有些情況下,平面的按鈕也許是適合的,比如
在設計自己的圖標與圖像時,應盡量使它們簡單。具有多種顏色的復雜的圖片,作為16×16像素的工具欄圖標,或者在高分辨率的屏幕上顯示時,都不能很好地適應。
選取字體
字體也是用戶界面的重要部分,因為它們常常給用戶傳遞重要的信息。需選取在不同的分辨率和不同類型的顯示器上都能容易閱讀的字體。最好盡量堅持使用簡單的無襯線字體或者襯線字體。通常手寫字體或者其他裝飾性字體的打印效果比屏幕上的效果更好,而且字體越小讀起來越難。
除非計劃按應用程序來配置字體,否則應當堅持使用標準Windows字體,如Arial、NewTimesRoman或者System。如果用戶的系統沒有包含指定的字體,系統會使用替代的字體,其結果可能與設想的完全不一樣。如果正在為國際讀者設計,需要調查在預想的語言里可用什么字體。還有,在為其他語言設計時,需要考慮文本的擴展——有些語言的文本串可以多占50%以上的空間。
還有,在選取字體時,設計的一致性非常重要。大多數情況下,不應當在應用程序中使用兩種以上字體。太多的字體會使得應用程序看上去像罰款通知單。
新聞熱點
疑難解答