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