程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VisualBasic工具欄、對話框二

VisualBasic工具欄、對話框二

編輯:VB綜合教程

  顯示選項
  代碼決定對話框將如何裝入內存與如何顯示。下表描述各種類型的顯示任務以及用來執行這些任務的關鍵字。
  
  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對象的兩個屬性TwipsPerPixelX與TwipsPerPixelY可以用來確定運行時的顯示尺寸。應用這些屬性,可以編寫代碼來調整窗體以及控件的尺寸與位置。
  PrivateSubSetControls()
     DimXAsInteger
     DimYAsInteger
  
     X=Screen.TwipsPerPixelX
     Y=Screen.TwipsPerPixelY
     SelectCaseX,Y
     Case15,15
     '重新改變控件尺寸及移動控件。
     txtName.Height=200
     txtName.Width=500
     txtName.Move200,200
     '增加為其它分辨率編寫的代碼。
     …
  EndSub
  也需要知道在設計時VisualBasic自身窗口的位置。如果在高分辨率下把“工程”窗口放置到屏幕的右邊,那麼會發現在低分辨率下打開工程時,它不再是可訪問的了。
  
  設計不同濃度的顏色
  在設計應用程序時,也需要考慮運行應用程序計算機可能的顏色顯示能力。有些計算機可以顯示256色或更多的顏色,而另一些只能顯示16種顏色。如果使用256色的調色板來設計窗體,那麼在16色上顯示時,抖動(模仿無效顏色的一種方法)會使窗體上的一些元素消失。
  為了避免這種情況,最好把應用程序使用的顏色局限於Windows標准的16種顏色。這些顏色由VisualBasic的顏色常數來表示(如vbBlack、vbBlue和vbCyan等等)。如果在應用程序中需要用16種以上的顏色,那麼對於文本、按鈕以及其他界面元素仍然應當堅持用標准顏色。
  
  設計時心裡想著用戶
  除非創建VisualBasic應用程序完全只供自己使用,否則創作的價值只能由其他人來評價。應用程序的用戶界面對用戶有極大的影響——無論代碼在技術上多麼卓越,或者優化得多麼的好,如果用戶發現應用程序很難使用,那麼他們就難於很好地接受它。
  作為程序員,毫無疑問,對計算機方面技術已非常熟悉。因而很容易忘記大多數用戶不理解(而且也許並不在意)隱藏在應用程序後面的技術。把應用程序看作達到目的工具:完成任務的方法想象中應比沒有計算機的幫助更容易。
  一個設計得好的用戶界面把用戶與基礎技術隔離開來,從而使完成預定的任務變得很容易。在設計應用程序用戶界面的過程中,需要時時想到用戶。如何能無需指導就發現應用程序的各種各樣的功能?當錯誤發生時,應用程序如何響應?在幫助或輔助用戶方面將提供些什麼?設計是否以一種藝術美來使用戶高興?以上這些問題的答案以及其他有關用戶為中心的設計問題,在本節中都將涉及到。
  
  界面設計的基礎
  不必成為創建用戶界面的藝術家——大多數用戶界面設計的原則,與任意一門基礎藝術課中所講授的基礎設計的原則相同。構圖、顏色等的基本的設計原則,就像它們應用在紙張或油畫上一樣,也能很好地在一台計算機的屏幕上應用。
  雖然VisualBasic能通過簡單地將控件拖動並放置到窗體上而使得創建用戶界面非常容易,但是,在設計之前稍微計劃一下就能使應用程序的可用性有很大地改觀。可能需先在紙上畫出窗體開始設計,決定需要哪些控件,不同元素的相對重要性,以及控件之間的關系。
  
  構圖:應用程序的觀感與感覺
  窗體的構圖或布局不僅影響它的美感,而且也極大地影響應用程序的可用性。構圖包括諸如控件的位置、元素的一致性、動感、空白空間的使用以及設計的簡單性等因素。
  
  控件的位置
  在大多數界面設計中,不是所有的元素都一樣重要。仔細地設計是很有必要的,以確保越是重要的元素越要很快地顯現給用戶。重要的或者頻繁訪問的元素應當放在顯著的位置上,而不太重要的元素就應當降級到不太顯著的位置上。
  在大多數語言中我們習慣於在一頁之中從左到右、自上到下地閱讀。對於計算機屏幕也如此,大多數用戶的眼睛會首先注視屏幕的左上部位,所以最重要的元素應當放在屏幕的左上部位。例如,如果窗體上的信息與客戶有關,則它的名字字段應當顯示在它能最先被看到的地方。而按鈕,如“確定”或“下一個”,應當放置在屏幕的右下部位;用戶在未完成對窗體的操作之前,通常不會訪問這些按鈕。
  把元素與控件分成組也很重要。盡量把信息按功能或關系進行邏輯地分組。因為他們的功能彼此相關,所以定位數據庫的按鈕應當被形象地分成一組,而不是分散在窗體的四處。對信息也是一樣,名字字段與地址通常分在一組,因為它們聯系緊密。在許多情況下,可以使用框架控件來幫助加強控件之間的聯系。
  
  界面元素的一致性
  在用戶界面設計中,一致性是一種優點。一致的外觀與感覺可以在應用程序中創造一種和諧,任何東西看上去都那麼協調。如果界面缺乏一致性,則很可能引起混淆,並使應用程序看起來非常混亂、沒有條理、價值降低,甚至可能引起對應用程序可靠性的懷疑。
  為了保持視覺上的一致性,在開始開發應用程序之前應先創建設計策略和類型約定。諸如控件的類型、控件的尺寸、分組的標准以及字體的選取等設計元素都應該在事先確定。可以創建設計樣板來幫助進行設計。
  在VisualBasic中有大量的控件可供使用,這可能引起有人想使用所有的控件。為了避免這種引誘,選取能很好地適合特定應用程序的控件子集。雖然列表框、組合框、網格以及樹等控件都可用來表示信息列表,最好還是盡可能使用一種類型。
  還有,盡量恰當地使用控件,雖然TextBox控件可以設置成只讀並用來顯示文本,但Label控件通常更適用於該目的。在為控件設置屬性時請保持一致性,如果在一個地方為可編輯的文本使用白色背景,除非有很好的理由,否則不要在別的地方又使用灰色。
  在應用程序中不同的窗體之間保持一致性對其可用性有非常重要的作用。如果在一個窗體上使用了灰色背景以及三維效果,而在另一個窗體上使用白色背景,則這兩個窗體就顯得毫不相干。選定一種類型並在整個應用程序保持一致,即使這意味著要重新設計某些功能。
  
  動感:窗體與其功能匹配
  動感是對象功能的可見線索。雖然對這個術語也許還不熟悉,但動感的實例四處可見。自行車上的把手,手放在它的上面,動感會將把手用手扣緊這件事顯現出來。按下按鈕、旋轉旋鈕和點亮電燈的開關等都能進行動感表示,一看到它們就可以看出其用處。
  用戶界面也使用動感。例如,用在命令按鈕上的三維立體效果使得他們看上去像是被按下去的。如果設計平面邊框的命令按鈕的話,就會失去這種動感,因而不能清楚地告訴用戶它是一個命令按鈕。在有些情況下,平面的按鈕也許是適合的,比如游戲或者多媒體應用程序;只要在整個應用程序中保持一致就很好。
  文本框也提供了一種動感,用戶可以期望帶有邊框和白色背景的框,框中包含可編輯的文本。顯示不帶邊框的文本框(BorderStyle=0)也有可能,這使它看起來像一個標簽,並且不能明顯地提示用戶它是可編輯的。
  
  空白空間的使用
  在用戶界面中使用空白空間有助於突出元素和改善可用性。空白空間不必非得是白色的——它被認為是窗體控件之間以及控件四周的空白區域。一個窗體上有太多的控件會導致界面雜亂無章,使得尋找一個字段或者控件非常困難。在設計中需要插入空白空間來突出設計元素。
  各控件之間一致的間隔以及垂直與水平方向元素的對齊也可以使設計更可用。就像雜志中的文本那樣,安排得行列整齊、行距一致,整齊的界面也會使其容易閱讀。
   VisualBasic提供了幾個工具,使得控件的間距、排列和尺寸的調整非常容易。“排列”、“按相同大小制作”、“水平間距”、“垂直間距”和“在窗體中央”等命令都可以在“格式”菜單中找到。
  
  保持界面的簡明
  界面設計最重要的原則也許就是簡單化。對於應用程序而言,如果界面看上去很難,則可能程序本身也很難。稍稍深入考慮一下便有助於創建看上去(實際上也是)用起來都很簡單的界面。從美學的角度來講,整潔、簡單明了的設計常常更可取。
  在界面設計中,一個普遍易犯的錯誤就是力圖用界面來模仿真實世界的對象。例如,想象一下要求創建完整的保險單的應用程序。很自然的反應就是在屏幕上設計完全仿照保險單的界面。這樣做會出現幾個問題:保險單的形狀與尺寸和屏幕上的有很大不同,要非常完善地復制這樣的表格會將其限制在文本框與復選框中,而對用戶並沒有真正的好處。
  最好是設計出自己的、也能提供原始保險單打印副本(帶打印預覽)的界面。通過從原始保險單中創建字段的邏輯組,並使用有標簽的界面或幾個鏈接的窗體,就可以不要求滾動屏幕而顯示所有的信息。也可以使用附加的控件,比如帶有選取預裝入的列表框,這些控件可以減少打字工作量。
  也可以取出不常用的函數並把它們移到它們自己的窗體中去,來簡化許多應用程序。提供缺省有時也可以簡化應用程序;如果十個用戶中有九個選取加粗的文本,就把文本粗體設為缺省值,而不要叫用戶每次都選取一遍(不要忘記提供一個選項可以覆蓋該缺省值)。向導也有助於簡化復雜的或不常用的任務。
  簡化與否最好的檢驗就是在應用中觀察應用程序。如果有代表性的用戶沒有聯機幫助就不能立即完成想要完成的任務,那麼就需要重新考慮設計了。
  
  使用顏色與圖像
  在界面上使用顏色可以增加視覺上的感染力,但是濫用的現象也時有發生。許多顯示器能夠顯示幾百萬種顏色,這很容易使人要全部使用它們。如果在開始設計時沒有仔細地考慮,顏色也會像其他基本設計原則一樣,出現許多問題。
  每個人對顏色的喜愛有很大的不同,用戶的品味也會各不相同。顏色能夠引發強烈的情感,如果正在設計針對全球讀者的程序,那麼某些顏色可能有文化上的重大意義。一般說來,最好保守傳統,采用一些柔和的、更中性化的顏色。
  當然,預期的讀者以及試圖傳達的語氣與情緒也會影響對顏色的選取。明亮的紅色、綠色和黃色適用於小孩子使用的應用程序,但是在銀行應用程序中它很難帶來財務責任心。
  少量明亮色彩可以有效地突出或者吸引人們對重要區域的注意。作為經驗之談,應當盡量限制應用程序所用顏色的種類,而且色調也應該保持一致。如果可能的話,最好堅持標准的16色的調色板;在16色顯示器上觀看時,抖動會使得其他一些顏色顯示不出來。  使用顏色時另一個需要考慮的問題就是色盲。有一些人不能分辨不同的基色(如紅色與綠色)組合之間的差別。對於有這種情況的人,綠色背景上的紅色文本就會看不見。
  
  圖像和圖標
  圖片與圖標的使用也可以增加應用程序的視覺上的趣味,但是,細心的設計也是必不可少的。不用文本,圖像就可以形象地傳達信息,但常常不同的人對圖像的理解也不一樣。
  帶有表示各種功能的圖標的工具欄,它是一種很有用的界面設備,但如果不能很容易地識別圖標所表示的功能,反而會事與願違。在設計工具欄圖標時,應查看一下其它的應用程序以了解已經創建了什麼樣的標准。例如,許多應用程序用一張角上有卷邊的紙來表示“新建文件”圖標。也許還有更好的比喻來表示這一功能,但改用其它的表示方法會引起用戶的混淆。
  考慮圖像文化上的意義也非常重要。許多程序使用田園風格的帶一面旗的郵箱(圖6.21)來代表郵件功能。這原本是美國的圖標;其他國家/地區或文化的用戶也許不把它看作郵箱。
  
  在設計自己的圖標與圖像時,應盡量使它們簡單。具有多種顏色的復雜的圖片,作為16×16像素的工具欄圖標,或者在高分辨率的屏幕上顯示時,都不能很好地適應。
  
  選取字體
  字體也是用戶界面的重要部分,因為它們常常給用戶傳遞重要的信息。需選取在不同的分辨率和不同類型的顯示器上都能容易閱讀的字體。最好盡量堅持使用簡單的無襯線字體或者襯線字體。通常手寫字體或者其他裝飾性字體的打印效果比屏幕上的效果更好,而且字體越小讀起來越難。
  除非計劃按應用程序來配置字體,否則應當堅持使用標准Windows字體,如Arial、NewTimesRoman或者System。如果用戶的系統沒有包含指定的字體,系統會使用替代的字體,其結果可能與設想的完全不一樣。如果正在為國際讀者設計,需要調查在預想的語言裡可用什麼字體。還有,在為其他語言設計時,需要考慮文本的擴展——有些語言的文本串可以多占50%以上的空間。
  還有,在選取字體時,設計的一致性非常重要。大多數情況下,不應當在應用程序中使用兩種以上字體。太多的字體會使得應用程序看上去像罰款通知單。
  

->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved