VB程序設計第4章-使用常用控件課件_第1頁
VB程序設計第4章-使用常用控件課件_第2頁
VB程序設計第4章-使用常用控件課件_第3頁
VB程序設計第4章-使用常用控件課件_第4頁
VB程序設計第4章-使用常用控件課件_第5頁
已閱讀5頁,還剩115頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

VB程序設計主編:沈祥玖高等教育出版社第4章使用常用控件2022/12/17VB程序設計主編:沈祥玖高等教育出版社第4章使用常用控第4章常用控件與窗體學習目標:(1)掌握表4-1中控件的常用屬性、方法、事件。(2)能在程序中靈活、正確的運用所掌握的控件。(3)了解多窗體的操作、語句、方法,能夠制作多窗體程序。2022/12/17第4章常用控件與窗體學習目標:2022/12/16圖4-1常用控件圖片框(PictureBox):用于顯示圖形。可作為其他控件的容器,能顯示Print方法的輸出。圖像框(ImageBox):用于顯示圖形。其顯示速度快,占用內存少,可實現圖形的縮放。定時器(Timer):每隔一定時間觸發Timer事件執行相應代碼,可制作動畫或計時。單選鈕(OptionButton):通常成組使用,主要用于處理“多選一”的問題。復選框(CheckBox):能表示選中或未選中二種狀態。成組使用時,實現復選多項功能。列表框(ListBox):顯示項目列表,用戶可以選擇其中的一項或多項。組合框(ComboBox):由文本框和列表框組合而成的控件,其有三種形式可供選擇。框架控件(Frame):可以對其他控件分組,以便用戶識別。常用于建立多個單選鈕組。表4-1本章要掌握的常用控件第4章常用控件與窗體2022/12/17圖4-1常用控件圖片框(PictureBox):圖像框(4.1圖片框(PictureBox)

圖片框(PictureBox)主要用于在窗體的指定位置顯示圖形,其還可以作為其他控件的容器、顯示Print方法輸出的文本或顯示圖形方法輸出的圖形。4.1.1屬性(1)Picture屬性用來指定顯示的圖形。圖片框可顯示JPG、BMP、WMF、GIF、ICO等格式的圖形文件。Picture屬性可以在屬性窗口中設置,也可以在代碼中設置。(a)屬性窗口中設置在設計階段,可以單擊屬性窗口中Picture屬性行右則的按鈕,在彈出的“加載圖片”對話框中選擇加載圖形文件。(b)在代碼中設置在代碼中,可以用LoadPicture函數把圖形文件裝入圖片框或圖像框中。語句格式如下:對象名.Picture=LoadPicture([filename])說明:“對象名”:可以是要加載圖形的圖片框、圖像框或窗體的名稱“filename”:字符串表達式,指定一個被顯示的圖形的文件名,第4章常用控件與窗體2022/12/174.1圖片框(PictureBox)

圖片框(Pictu可以包括文件的盤符和路徑。如果未指定文件名,執行語句后將清除對象中的圖象。舉例:實現裝載圖形的語句:Picture1.picture=LoadPicture("c:\windows\bubbles.bmp")實現清除圖形的語句:Picture1.Picture=LoadPicture()上機練習時,可以先查找電腦中的圖片,得到其路徑和名稱,再輸入到代碼中。查找圖片的方法:在“資源管理器”或“我的電腦”中的C盤上單擊右鍵,選擇右鍵菜單中的“查找”命令,在彈出的“查找”對話框中名稱項里輸入“*.JPG”(或“*.BMP”、“*.WMF”等),按“開始查找”按鈕即可。(2)AutoSize屬性指定控件是否自動改變大小以顯示圖形全部內容。屬性值為True或False。

False:保持控件大小不變,超出控件區域的圖形內容不被顯示。此值為缺省值。

True:自動改變控件大小以顯示圖形全部內容。4.1圖片框(PictureBox)

第4章常用控件與窗體2022/12/17可以包括文件的盤符和路徑。如果未指定文件名,執行語句后將清除4.1.2應用舉例

【例4.1】設計程序,演示圖片框在AutoSize屬性不同選值時的狀態和用Picture屬性加載、清除圖形的功能。分析:為做演示,圖片框必不可少,還要建立四個按鈕,二個用來設置圖片框AutoSize屬性值為True或False,另外二個實現加載、清除圖形。(如圖4-2所示)4.1圖片框(PictureBox)

(a)猶抱琵琶半遮面狀態(b)露出廬山真面目狀態(c)清除狀態圖4-2例4.1程序運行界面第4章常用控件與窗體2022/12/174.1.2應用舉例

4.1圖片框(PictureBo4.1圖片框(PictureBox)

(1)界面設計在窗體上添加二個圖片框、四個命令按鈕。控件的大小、位置和命令按鈕的Caption屬性可參考圖4-2。(2)編寫代碼依次雙擊窗體和各命令按鈕,輸入代碼如下。PrivateSubForm_Load() '在啟動程序時,設置圖片框屬性并加載圖形。

Command2_Click '調用過程Command2_Click,如同輸入了Command2_Click事件過程中的四條語句。

Command4_Click '功能同上。關于過程的調用,會在第8章中講解。EndSubPrivateSubCommand1_Click() '“露出廬山真面目”按鈕事件過程

Picture1.AutoSize=True '自動改變圖片框大小以顯示圖形全部內容

Picture2.AutoSize=TrueEndSubPrivateSubCommand2_Click() '“猶抱琵琶半遮面”按鈕事件過程

Picture1.AutoSize=False '當圖片框比圖形小時,圖形超出部分不被顯示

Picture2.AutoSize=FalsePicture1.Height=280 '減少圖片框高度為280,使圖片框小于圖形

Picture2.Height=280EndSubPrivateSubCommand3_Click() '“清除”按鈕事件過程

Picture1.Picture=LoadPicture("")Picture2.Picture=LoadPicture("")第4章常用控件與窗體2022/12/174.1圖片框(PictureBox)

(1)界面設計第4.1圖片框(PictureBox)

EndSubPrivateSubCommand4_Click() '“加載”按鈕事件過程

Picture1.Picture=LoadPicture("C:\VB\Face02.ico")'確保C盤的VB文件夾下有圖形文件Face02.ico,也可使用其他圖形文件

Picture2.Picture=LoadPicture("C:\VB\Face04.ico")EndSub

編程所用的Face02.ico等圖標文件,可在C盤中查找“*.ICO”獲得,一般能在VB資源文件夾“\Common\Graphics\Icons\Misc”下找到。按F5鍵運行程序,界面如圖4-2所示。單擊“露出廬山真面目”按鈕,圖形會完全顯示;點擊“猶抱琵琶半遮面”按鈕,圖片框縮小,圖形中的超出部分不被顯示;按“清除”按鈕,圖形被刪除;使用“加載”按鈕,圖形重新顯示。運行無誤后,請保存工程,以備后用。第4章常用控件與窗體2022/12/174.1圖片框(PictureBox)

EndSub4.2圖像框(ImageBox)

圖像框(ImageBox)只能用于顯示圖形,沒有圖片框所擁有的其他功能;因此,圖像框比圖片框顯示速度快、占用內存少。4.2.1屬性(1)Picture屬性和圖片框的Picture屬性相同。(2)stretch屬性指定是否縮放圖形來適應控件大小。屬性值為True或False。False:縮放控件來適應圖形的大小。此值為缺省值。True:縮放圖形來適應控件的大小。此值可能會使顯示的圖形變形失真。第4章常用控件與窗體2022/12/174.2圖像框(ImageBox)

圖像框(Im4.2圖像框(ImageBox)

4.2.1屬性(1)Picture屬性和圖片框的Picture屬性相同。(2)stretch屬性指定是否縮放圖形來適應控件大小。屬性值為True或False。False:縮放控件來適應圖形的大小。此值為缺省值。True:縮放圖形來適應控件的大小。此值可能會使顯示的圖形變形失真。(a)stretch值為False時(b)值為True并放大時(c)值為True并縮小時圖4-3例4.2stretch屬性演示第4章常用控件與窗體2022/12/174.2圖像框(ImageBox)

4.2.1屬性(4.2圖像框(ImageBox)

(1)界面設計在窗體上添加一個圖像框、四個命令按鈕。控件的大小、位置和命令按鈕的Caption屬性可參考圖4-3。(2)編寫代碼依次雙擊窗體和各命令按鈕,輸入代碼如下。PrivateSubForm_Load()Image1.Picture=LoadPicture("C:\VB\Face03.ico")EndSub '在程序啟動時,為圖像框裝載圖標“Face03.ico”PrivateSubCommand1_Click() '“True”按鈕事件過程

Image1.Stretch=TrueEndSubPrivateSubCommand2_Click() '“False”按鈕事件過程

Image1.Stretch=FalseEndSubPrivateSubCommand3_Click() '“放大”按鈕事件過程

Image1.Width=Image1.Width*2Image1.Height=Image1.Height*2EndSub '把Image1的寬度和高度值乘2再賦給其Width、Height屬性PrivateSubCommand4_Click() '“縮小”按鈕事件過程

Image1.Width=Image1.Width/2Image1.Height=Image1.Height/2EndSub '把Image1的寬度和高度值的一半賦給其Width、Height屬性第4章常用控件與窗體2022/12/174.2圖像框(ImageBox)

(1)界面設計第4.2圖像框(ImageBox)

按F5鍵運行程序,程序界面如圖4-3(a)所示,此時單擊“放大”按鈕,雖然圖像框已經擴大一倍(其不可見),但是因其Stretch值默認為False,所以圖形并不隨圖像框的擴大而擴大。隨后點擊“True”按鈕,將Stretch值更改為True,這時圖形會為適應圖像框的大小而放大,如圖4-3(b)所示。正如圖4-3(c)所示,按“縮小”按鈕,圖形會隨圖像框的縮小而變小。不論圖形及圖像框是在擴大還是已縮小,只要單擊“False”按鈕,都會使圖像框縮放到圖形原始大小的尺寸,來適應圖形的正常顯示,如圖4-3(a)。運行無誤后,請保存工程,以備后用。4.2.3圖像框與圖片框的區別雖然圖像框與圖片框的用法基本相同,但也有不少區別:(1)圖像框比圖片框占用的內存少,顯示圖形的速度快。(2)圖像框可以實現圖形的縮放。(3)圖像框不能同圖片框一樣通過Print方法顯示文本或使用顯示圖形方法輸出圖形。(4)圖像框不能像圖片框一樣來作為其他控件的容器。此差別說明如下:第4章常用控件與窗體2022/12/174.2圖像框(ImageBox)

按F54.2圖像框(ImageBox)

例如在圖像框中畫一個命令按鈕,圖像框并不能作為此命令按鈕的容器,他們是彼此獨立的,二者之間沒有固定的聯系。圖像框中的命令按鈕不從屬于圖像框,不是圖像框的組成部分,當移動圖像框時命令按鈕仍在原位置,不隨之移動。如果單獨移動命令按鈕,可以把他移動到圖像框之外。如果在圖片框內畫一個命令按鈕,圖片框會成為這個按鈕的容器。此時移動圖片框,則命令按鈕隨之一起移動(命令按鈕成為圖片框的一個組成部分)。如果單獨移動命令按鈕,只能在圖片框范圍內移動,不能把他移動到圖片框之外。第4章常用控件與窗體2022/12/174.2圖像框(ImageBox)

例如在4.3定時器(Timer)

定時器(Timer)可以實現每隔一定的時間間隔就觸發一次Timer事件,從而執行相應的代碼。利用定時器,可以制作動畫、定期執行某個特定操作或實現計時。

Timer控件有時被譯為計時器或時鐘。正如某些自鳴鐘可以每隔一小時就觸發“整點報時”事件一樣,定時器也能每隔一定時間就觸發一個事件;而且他還可以用Interval屬性來設置間隔時間的長短,在Timer事件里編寫不同代碼用來實現不同功能。第4章常用控件與窗體2022/12/174.3定時器(Timer)

定時器(Time4.3定時器(Timer)

4.3.1屬性與事件(1)Interval屬性作用:設置觸發定時器Timer事件的間隔時間。范圍:0~65,535毫秒(1毫秒=0.001秒)說明:缺省值為0,即定時器控件不起作用;最大值為65,535,即65秒多。如果希望每秒觸發n個Timer事件,則應設置屬性Interval的值為1000/n。但不要奢望設置為1時,會每秒產生1000個事件。由于大多數個人計算機系統硬件的限制,定時器每秒鐘最多可產生的Timer事件在18個左右;也就是說,實際最小間隔時間大約在56毫秒上下。所以,若將Interval屬性值設為比56小的數,可能不會產生預期效果。(2)Timer事件在由Interval屬性設定的時間間隔過去之后觸發,執行相應代碼。運行時,定時器不可見,所以他沒有Click等事件,Timer事件是定時器唯一的事件。Timer事件的觸發,有二個前提:一是Timer控件的Enabled屬性被設置為True,二是Interval屬性大于0。第4章常用控件與窗體2022/12/174.3定時器(Timer)

4.3.1屬性與事件4.3定時器(Timer)

4.3.2應用舉例【例4.3】設計程序,演示定時器的動畫、計時功能。分析:動畫功能,可以設置定時器控件Interval屬性為較小值,以及在Timer事件中使圖像框在不同時段加載不同圖形來實現。而要在同一事件過程中判斷加載不同圖形,需要第五章中if語句的相關知識,但我們可以殊途同歸的用二個定時器來實現。在第三個計時器的事件中用Time函數獲取系統時間,再顯示在標簽控件中,可實現計時。(如圖4-4所示)(a)設計狀態(b)動畫圖一(c)動畫圖二圖4-4例4.3程序界面第4章常用控件與窗體2022/12/174.3定時器(Timer)

4.3.2應用舉例(4.3定時器(Timer)

(1)界面設計在窗體上添加三個圖像框(Image2、Image1、Image3)、三個定時器、一個標簽,大小及位置可參考圖4-4。(2)編寫代碼依次雙擊窗體和三個定時器控件,輸入代碼如下。PrivateSubForm_Load() '程序啟動時,裝載圖形,設置Interval屬性值

Image2.Picture=LoadPicture("C:\VB\Face02.ico")Image3.Picture=LoadPicture("C:\VB\Face03.ico")Image1.Picture=Image2.Picture'使Image1擁有同Image2一樣的圖形

Timer1.Interval=500 '設置Timer1每隔0.5秒觸發一個Timer事件

Timer3.Interval=100 '設置Timer3每隔0.1秒觸發一個Timer事件EndSubPrivateSubTimer1_Timer()Image1.Picture=Image3.Picture '使Image1顯示Image3中的圖形

Timer1.Interval=0 '使Timer1不起作用

Timer2.Interval=500 '設置Timer2每隔0.5秒觸發一個Timer事件EndSubPrivateSubTimer2_Timer()Image1.Picture=Image2.Picture '使Image1顯示Image2中的圖形

Timer2.Interval=0 '使Timer2不起作用

Timer1.Interval=500 '設置Timer1每隔0.5秒觸發一個Timer事件EndSubPrivateSubTimer3_Timer() 'Timer3的Timer事件,每隔0.1秒執行一次

Label1.Caption=Time '將Time函數返回的系統時間顯示在標簽中EndSub第4章常用控件與窗體2022/12/174.3定時器(Timer)

(1)界面設計依次雙擊窗4.3定時器(Timer)

按F5運行程序,程序界面如圖4-4(a)、(b)所示。在電腦中可以看到,大約每隔半秒,中間的(Image1)圖形就在“閉嘴微笑”和“開口大笑”之間進行轉換,并由于視覺的殘留現象而形成動畫。電影就是以24格/秒(以前是16格/秒)的速度播放相近的圖形而給我們“動”的感覺。在實現動畫的同時,程序會按“時:分:秒”的格式顯示當前系統時間。想一想:(a)系統時間按秒變化,Timer3的Interval屬性為什么設置為100而不是1000呢?假設將Interval屬性設為1000(1秒)。此時,雖然顯示精確到秒的系統時間,但程序的顯示并不精確。比如Timer3的一個Timer事件剛剛過去,而系統時間中新的一秒緊跟著到來,程序卻要間隔1秒后才會獲得并顯示這一秒的時間,那么會有n秒(n<1)的誤差產生。因此,Interval屬性值越小,誤差也會越小,顯示的系統時間越準確。第4章常用控件與窗體2022/12/174.3定時器(Timer)

按F5運行程序,程序界面4.3定時器(Timer)

按F5運行程序,程序界面如圖4-4(a)、(b)所示。在電腦中可以看到,大約每隔半秒,中間的(Image1)圖形就在“閉嘴微笑”和“開口大笑”之間進行轉換,并由于視覺的殘留現象而形成動畫。電影就是以24格/秒(以前是16格/秒)的速度播放相近的圖形而給我們“動”的感覺。在實現動畫的同時,程序會按“時:分:秒”的格式顯示當前系統時間。想一想:(a)系統時間按秒變化,Timer3的Interval屬性為什么設置為100而不是1000呢?假設將Interval屬性設為1000(1秒)。此時,雖然顯示精確到秒的系統時間,但程序的顯示并不精確。比如Timer3的一個Timer事件剛剛過去,而系統時間中新的一秒緊跟著到來,程序卻要間隔1秒后才會獲得并顯示這一秒的時間,那么會有n秒(n<1)的誤差產生。因此,Interval屬性值越小,誤差也會越小,顯示的系統時間越準確。第4章常用控件與窗體2022/12/174.3定時器(Timer)

按F5運行程序,4.3定時器(Timer)

(b)程序運行后,Timer1和Timer2各自的Timer事件實際每隔多長時間觸發一次?我們一起來設想程序的執行。程序啟動時,執行窗體的Load事件過程,其中一條語句使Timer1的Interval屬性值由0變成500。在0.5秒后,Timer1的Timer事件第一次被觸發,事件過程中第二條語句把Timer1本身的Interval屬性值再由500設回0,第三句讓Timer2的Timer事件于0.5秒后產生。在程序運行了1秒鐘時,Timer2的Timer事件過程首次執行,他會關閉Timer2自身并點燃Timer1在0.5秒后執行事件的引線。程序啟動后的第1.5秒,即時隔1秒鐘以后,Timer1的Timer事件被再次激發……從上面的設想中不難看出,除第一次外,Timer1和Timer2各自的Timer事件大約每隔1秒觸發一次。(由于是二個定時器互動以及電腦系統硬件的關系,間隔時間會有微小誤差。)第4章常用控件與窗體2022/12/174.3定時器(Timer)

(b)程序運行后,4.4單選鈕(OptionButton)

單選鈕(OptionButton)通常成組使用,主要用于處理“多選一”的問題。用戶在一組單選鈕中最多只能選擇一項。選定組中某項單選鈕時,其左邊圓圈中會出現黑點,表明處于選定狀態;而本組內的其他單選鈕則被強制處于非選定狀態(左邊圓圈中無黑點)。4.4.1屬性與事件(1)Value屬性表示、設置單選按鈕是否處于選定的狀態。屬性值為True或False。False:處于非選定狀態,左邊圓圈中沒有黑點。此值為缺省值。True: 處于已選定狀態,左邊圓圈中顯示黑點。(2)Caption屬性顯示出現在單選鈕旁邊的文本。(3)Style屬性設置單選鈕的顯示方式。屬性值為0或1。0為缺省值。0–Standard: 標準方式。用文本旁邊圓圈中是否有黑點來表示選定狀態。1–Graphical: 圖形方式。外觀類似命令按鈕,用按鈕是否按下表示選定的狀態。第4章常用控件與窗體2022/12/174.4單選鈕(OptionButton)單4.4單選鈕(OptionButton)

圖4-5中有二個框架,每個框架中,都有一個單選鈕;每個單選鈕組都由二單選鈕組成。左側框架的單選鈕組中,二個單選鈕的Style屬性為0,Value值如控件的標簽文本所示。

右側框架的單選鈕組中,二個單選鈕的Style屬性為1;處于按下(凹陷)狀態的單選鈕,其Value值為True,處于彈出(凸起)狀態的單選鈕,其Value值為False。圖4-5單選鈕屬性演示第4章常用控件與窗體2022/12/174.4單選鈕(OptionButton)4.4單選鈕(OptionButton)

(4)Click事件單選鈕常用事件是Click事件。4.4.2應用舉例

【例4.4】編寫“簡單記事本”程序,實現功能:可以輸入文本并能更改字體大小。分析:輸入文本,可用文本框實現;更改字體大小,用單選鈕可以做到。(如圖4-6所示)(a)啟動界面(b)10號字體(c)12號字體圖4-6“簡單記事本”運行界面第4章常用控件與窗體2022/12/174.4單選鈕(OptionButton)(44.4單選鈕(OptionButton)

(1)界面設計在窗體上添加一個標簽、一個文本框、二個單選鈕,大小位置及Caption屬性見圖4-6。設置文本框的MultiLine屬性為True,使其可以輸入多行文本。(2)編寫代碼雙擊窗體,在窗體的Load事件中輸入代碼如下:PrivateSubForm_Load() '窗體啟動時的初始設置。

Option1.Value=True '使標簽為“10號”的單選鈕1處于選定狀態。

Text1.FontSize=10 '文本大小為10號。EndSub

單擊代碼窗口上方右側的事件列表框,在下拉列表中選擇“Resize”項,并輸入代碼:PrivateSubForm_Resize() '當窗體大小改變時觸發的事件。

Text1.Height=Form1.Height-Text1.Top'文本框的高度=窗體的高度-文本框上邊界到窗體頂端的距離。

Text1.Width=Form1.Width '文本框的寬度總是等于窗體的寬度。EndSub '本過程實現文本框隨窗體的縮放而縮小擴大。分別雙擊二個單選鈕,輸入代碼如下所示:PrivateSubOption1_Click()Text1.FontSize=10 '文本大小為10號。EndSubPrivateSubOption2_Click()Text1.FontSize=12 '文本大小為12號。EndSub第4章常用控件與窗體2022/12/174.4單選鈕(OptionButton)(1)4.4單選鈕(OptionButton)

程序編寫好后,請保存工程,以備后用。(我們將在以后的章節中對其逐步完善。)按F5運行程序,啟動界面如圖4-6(a)所示,此時標題為“10號”的單選鈕處于選中狀態。在文本框中可以輸入多行文本,文本字體大小為默認的10號字,如圖4-6(b)所示。單擊標題為“12號”的單選鈕,文本字號變為12號,見圖4-6(c)。 在程序運行時,可以用以下方法選中一個單選鈕:間用鼠標單擊單選鈕。用Tab鍵定位到單選鈕組,然后用方向鍵定位單選鈕。但是不論我們如何選擇,在一個單選鈕組中,只能有一個單選鈕處于選中狀態,并且他會保持其選中狀態一直到本組中其他單選鈕被選中。第4章常用控件與窗體2022/12/174.4單選鈕(OptionButton)程4.5復選框(CheckBox)

復選框(CheckBox)也稱為檢查框。在單個使用時,可以表示選中或未選中二種狀態;在成組出現時,能夠實現復選多項的功能。4.5.1屬性與事件(1)Value屬性決定復選框的狀態,此屬性有三個可選值:0、1、2。0-未選中:處于未選中狀態,左邊方框中不顯示“√”號。此值為缺省值。1-已選中:處于已選中狀態,左邊方框中會顯示“√”號。2-變灰暗:復選框變成灰色,表示禁止用戶選擇。前二種狀態,可以在程序運行時,通過鼠標單擊或用Tab鍵定位后按空格鍵來轉變。例如,程序運行后,首次單擊復選框,其方框內出現"√"號,Value屬性值變為1(True);再次單擊此復選框,則會清除方框中的"√",并使Value屬性值變為0(False)。第三種狀態,可以在屬性窗口里或代碼中設置。第4章常用控件與窗體2022/12/174.5復選框(CheckBox)

復4.5復選框(CheckBox)

(2)Style屬性設置復選框的顯示方式。屬性值為0或1。0為缺省值。0–Standard: 標準方式。用文本旁邊方框中是否有“√”號來表示選定狀態。1–Graphical: 圖形方式。外觀類似命令按鈕,用按鈕是否按下表示選定的狀態。當Style屬性值為1時,可以在Picture、DownPicture、DisabledPicture三個屬性中分別設置圖形,用不同的圖形來表示Value屬性三種狀態(未選中、已選中、禁止選擇)。(3)事件復選框常用事件為Click事件。第4章常用控件與窗體2022/12/174.5復選框(CheckBox)

(2)4.5復選框(CheckBox)

【例4.5】完善“簡單記事本”程序,增加功能:可以選擇字體樣式。分析:常用的字體樣式有加粗和傾斜。對于文本,可以只設置一種樣式,也可以同時應用二種或多種樣式。所以,用復選框來實現對字體樣式的選擇是比較恰當的。(如圖4-7所示)(a)無字體樣式(b)加粗(c)加粗并傾斜圖4-7用復選框選擇字體樣式第4章常用控件與窗體2022/12/174.5復選框(CheckBox)

【例4.4.5復選框(CheckBox)

(1)界面設計打開上節保存的“簡單記事本”工程文件,在窗體上增加二個復選框。文本框的新位置和復選框的大小、位置及Caption屬性見圖4-7。(2)編寫代碼分別雙擊二個復選框,輸入代碼如下:PrivateSubCheck1_Click() '單擊復選框時,會在選中和非選中間進行切換。

Text1.FontBold=Check1.Value EndSub '文本框的FontBold為True時,樣式為粗體;為False時,取消粗體。PrivateSubCheck2_Click()Text1.FontItalic=Check2.ValueEndSub '文本框的FontItalic為True時,樣式為傾斜;為False時,取消傾斜。

按F5運行程序,在程序中輸入任意文本。單擊“加粗”復選框,文本應用加粗樣式,如圖4-7(b)所示。單擊“傾斜”按鈕,文本樣式為即加粗又傾斜,如圖4-7(c)。運行無誤后,請保存工程,以備后用。第4章常用控件與窗體2022/12/174.5復選框(CheckBox)

(1)界面設計第4.5復選框(CheckBox)

4.5.3復選框與單選鈕的區別最主要的區別:在一組復選框中,可以實現多選;而單選鈕組中,只能多選一。在一組復選框中,每個復選框都是獨立的、互不影響的,可以任意選擇它們的狀態組合,能夠全選、全不選或同時使若干個復選框處于選中狀態。在單選鈕組中,單選鈕間是相互排斥的,選中其中一個就會清除該組中其他按鈕的選定狀態;所以在選擇時,最多且必須選一項,不會出現全選、全不選或多選的狀態。第4章常用控件與窗體2022/12/174.5復選框(CheckBox)

4.5.3復4.6列表框(ListBox)

列表框(ListBox)顯示項目列表,用戶可以選擇其中的一項或多項。如果項目總數超過了可顯示的項目數,列表框會自動增加滾動條。4.6.1屬性(1)List屬性用來存放列表框的項目。該屬性是一個字符串數組,數組的下標從0開始,即List(0)保存表中的第一項內容,List(1)保存第二項內容;依次類推,List(ListCount-1)保存表中的最后一項內容。對于List屬性,可以在屬性窗口中或代碼中設置:(a)在屬性窗口中設置:選擇屬性窗口中的List屬性,單擊右方的下拉按鈕,在彈出的下拉框中輸入首項內容;按下Ctrl+Enter鍵換行,輸入第二項內容;輸入最后一項后,按下Enter鍵表示輸入結束。第4章常用控件與窗體2022/12/174.6列表框(ListBox)

列表4.6列表框(ListBox)

如圖4-8(a)所示,在輸入“第一項:List(0)”后,按Ctrl+Enter鍵輸入“第二項:List(1)”,在輸入“第五項:List(4)”后按Enter鍵結束輸入。程序運行后的列表框如圖4-8(b)所示。(a)在屬性窗口中設置(b)運行后的顯示圖4-8列表框屬性演示第4章常用控件與窗體2022/12/174.6列表框(ListBox)

如圖4-4.6列表框(ListBox)

(b)在代碼中設置:在代碼中設置List屬性的語句格式為:列表框.]List(下標)=字符串例如,圖4-8(b)中列表框的顯示,也可以用以下語句實現:PrivateSubForm_Load()List1.List(0)="第一項:List(0)"List1.List(1)="第二項:List(1)"List1.List(2)="第三項:List(2)"List1.List(3)="第四項:List(3)"List1.List(4)="第五項:List(4)"EndSub

(2)ListCount屬性記錄列表框中的項目總數。例如圖4-8中列表框的ListCount屬性為5。該屬性只能在程序中引用它。常用ListCount-1表示最后一項的序號。(3)Text屬性用于存放被選中列表項的文本內容。在圖4-8(b)中,如選中第二項,則此項會反白顯示,同時Text屬性值變為“第二項:List(1)”。該屬性是只讀屬性,不能在屬性窗口中及代碼中設置,只能在代碼中引用Text屬性值,來獲取當前選定列表項的內容。第4章常用控件與窗體2022/12/174.6列表框(ListBox)

(b)在代碼中4.6列表框(ListBox)

(4)ListIndex屬性表示運行時被選中項目的序號(下標值)。如果列表框中沒有任何一項被選中,則ListIndex為-1。假設選擇了多個列表項,則ListIndex只存儲最后一個所選項目的序號。程序運行時,可以使用ListIndex屬性判斷列表框中哪一項被選中。例如,在圖4-8(b)狀態中,ListIndex屬性值為-1;單擊第二項,ListIndex屬性值變為1;再點擊第三項,ListIndex屬性值變為2。ListIndex屬性不能在設計時設置,只有程序運行時才起作用。(5)Selected屬性該屬性是一個邏輯數組,其元素對應列表框中相應的項,表示對應的項在程序運行期間是否被選中。例如,圖4-8(b)狀態中,第一項未被選中,Selected(0)的值為False;如若選中第一項,,Selected(0)的值會變為True。此屬性不能在屬性窗口中設置,只能在代碼中引用或賦值。第4章常用控件與窗體2022/12/174.6列表框(ListBox)

(4)L4.6列表框(ListBox)

(6)MultiSelect屬性設置是否能在列表框中進行復選以及如何進行復選。此屬性有三個可選值:0、1、2。0–None:禁止多項選擇,只能選擇一項。如同一組單選鈕一樣。此值為缺省值。1–Simple:簡單復選,可以同時選擇多個項目。單擊鼠標或按空格鍵使項目在選中和非選中狀態間切換,類似對一組復選框的操作。2–Extended:擴展復選,能夠用更多的方式方便的選擇項目。以下為詳細說明:只用鼠標點選時,只能選擇一項,如同“0–None”。按住CTRL鍵,可以實現簡單復選不連續項,類似“1–Simple”。按住SHIFT鍵,配合鼠標或方向鍵,能夠進行連續項目的快速選擇。按住左鍵并拖動鼠標,可以對項目進行圈選。選擇“2–Extended”后,列表框的選擇方式,同在資源管理器中選擇文件如出一轍。(7)SelCount屬性記錄列表框中所選項目的總數。如果沒有項被選中,那么SelCount屬性將返回0值;否則,他將返回當前被選中的列表項的數量。此屬性只有在MultiSelect屬性值設置為“1–Simple”或“2–Extended”時起作用,通常與Selected數組一起使用,以處理控件中的所選項目。第4章常用控件與窗體2022/12/174.6列表框(ListBox)

(6)Mul4.6列表框(ListBox)

4.6.2方法列表框常用的方法有:AddItem、RemoveItem和Clear。(1)AddItem方法功能:把一個項目加入列表框。格式:Listname.AddItemitem[,index]說明:

Listname:列表框的名稱

item: 字符串表達式,內容為要加到列表框的項目。

index: 索引號,即新增加的項目在列表框中的位置。index為0時,添加到第一個位置;index為1時,加到第二個位置;依次類推。如果省略index,新增加的項目將添加到列表框的末尾。舉例:List1.AddItem(“第六項:List(5)”) ‘在列表框末尾增加項目“第六項:List(5)”。(2)RemoveItem方法功能:刪除列表框中的項目。格式:Listname.RemoveItemindex說明:這里的index參數是必選項,他表示要刪除項目的序號。舉例:List1.RemoveItem0 '刪除列表框中的第一項。第4章常用控件與窗體2022/12/174.6列表框(ListBox)

4.6.2方法4.6列表框(ListBox)

(3)Clear方法功能:刪除列表框控件中的所有項目。格式:Listname.Clear4.6.3應用舉例【例4.6】修改“簡單記事本”程序,要求通過列表來選擇字號,并能添加、刪除字號。分析:可以使用列表框來顯示字號列表。單擊列表中的字號時,通過把列表框的Text屬性值賦值給文本框的FontSize屬性,從而實現選擇字號功能。建立三個按鈕,分別使用列表框的AddItem、RemoveItem和Clear方法來實現字號的添加、刪除和清空。(如圖4-9所示)(a)運行后輸入內容(b)選擇字號(c)添加、刪除字號圖4-9用列表框選擇、添加、刪除字號第4章常用控件與窗體2022/12/174.6列表框(ListBox)

(3)Clear方法4.6列表框(ListBox)

(1)界面設計打開上節保存的“簡單記事本”工程,為突出重點,刪除單選鈕、復選框以及相應代碼。建立一個列表框、一個標簽控件、三個命令按鈕,設置標簽控件、命令按鈕的Caption屬性以及列表框的List屬性如圖4-9(a)所示。調整原有文本框的大小及位置,并保持其Text屬性為空值。(圖中詩句是運行后輸入的)(2)編寫代碼依次雙擊列表框和三個命令按鈕,輸入代碼如下:PrivateSubList1_Click() '單擊列表框

Text1.FontSize=List1.Text '使文本框中字體大小為列表框中所選字號EndSubPrivateSubCommand1_Click() '單擊“添加”按鈕

DimsAsStrings=InputBox("請輸入要添加的字號","添加字號")List1.AddItems '把用戶在輸入框中輸入的字號添加到列表框中EndSubPrivateSubCommand2_Click() '單擊“刪除”按鈕

List1.RemoveItemList1.ListIndex '刪除列表框中所選項目EndSubPrivateSubCommand3_Click() '單擊“清空”按鈕

List1.Clear '清空列表框中的所有項目EndSub第4章常用控件與窗體2022/12/174.6列表框(ListBox)

(1)界面設計第44.6列表框(ListBox)

輸入完成后,按F5鍵運行程序。在文本框中輸入任意文本,單擊列表框中的項目,可以設置相應的字號;例如單擊“12”,則文本字體大小更改為12號。單擊“添加”按鈕,在彈出的輸入框中輸入字號,按“確定”按鈕后,列表框將增加所輸入的字號。選擇某一字號,單擊“刪除”按鈕,會刪除所選字號。單擊“清空”按鈕,則清除所有字號。請保存此工程。第4章常用控件與窗體2022/12/174.6列表框(ListBox)

輸入完成后4.7組合框(ComboBox)

圖4-10組合框的三種形式

組合框(ComboBox)是由文本框和列表框組合而成的控件。組合框有三種形式:下拉式組合框、簡單組合框和下拉式列表框。(如圖4-10所示)三種形式都能在列表中選擇項目,所選項目會顯示在文本框中。“下拉式組合框”和“簡單組合框”還可以通過在文本框中輸入文本來進行選擇。“下拉式組合框”和“下拉式列表框”均具有能“下拉”和“收起”的列表,可節省空間。通過Style屬性可選擇所需的形式。第4章常用控件與窗體2022/12/174.7組合框(ComboBox)

圖4-10組4.7組合框(ComboBox)

4.7.1屬性與方法(1)Style屬性決定組合框的類型和行為,可選值為0、1、2,默認值為0。(a)0–DropdownCombo(下拉式組合框):正常狀態僅顯示文本框和下拉按鈕;當單擊下拉按鈕時,會顯示列表框供用戶選擇;再次單擊下拉按鈕,列表框隱藏,恢復正常狀態。用戶可以通過列表框選擇項目,也可以在文本框中輸入項目文本來進行選擇,所選項目會顯示在文本框中。此形式允許用戶鍵入列表框中沒有的選項。(b)1–SimpleCombo(簡單組合框):文本框與列表框一起顯示,文本框右側無下拉按鈕,列表框固定顯示,不能被“拉下”和“收起”。對項目的選擇與下拉式組合框相同。在設計時,應適當調整組合框的大小,否則執行時有些列表項可能不被顯示。當選項數超過可顯示的限度時將自動插入一個垂直滾動條。(c)2-DropdownListBox(下拉式列表框):外觀同下拉式組合框一樣,有下拉按鈕以及可供“拉下”和“收起”列表框。與下拉式組合框的有所不同的是,用戶不能在列表框中輸入選項,而只能在列表中選擇。第4章常用控件與窗體2022/12/174.7組合框(ComboBox)

4.7.1屬性與方4.7組合框(ComboBox)

(2)其他屬性與方法組合框的大部分屬性和方法與列表框相同,比如要訪問控件的項目,可以用List數組;控件的當前選項由控件的Text屬性確定;AddItem方法將項目加人到組合框的項目列表中;RemoveItem方法將組合框中選定的項目刪除;Sorted屬性決定組合框中的項目是否排序等。4.7.2應用舉例【例4.7】修改“簡單記事本”程序,要求使用組合框來實現選擇、添加、刪除字號。分析:實現此要求,用組合框替換例4.6程序中的列表框即可。新項目可以在組合框中的文本框里輸入,因此,只需用AddItem方法把組合框的Text屬性值加入到列表中,即可實現“添加”功能。(如圖4-11所示)(a)運行后輸入內容(b)選擇字號(c)添加、刪除字號圖4-11用組合框選擇、添加、刪除字號第4章常用控件與窗體2022/12/174.7組合框(ComboBox)

(2)其他屬性與方法(4.7組合框(ComboBox)

(1)界面設計打開上節保存的“簡單記事本”工程,刪除原有的列表框和相應代碼,新建一個組合框。設置組合框的List屬性首項為“10”,第二項為“12”;設置Text屬性值為“10”。(2)編寫代碼依次雙擊組合框和三個命令按鈕,輸入、修改代碼如下:PrivateSubCombo1_Click() '單擊組合框中列表項時觸發

Text1.FontSize=Combo1.Text '使文本字體大小為列表框中所選字號EndSubPrivateSubCommand1_Click() '單擊"添加"按鈕

Combo1.AddItemCombo1.Text '把用戶在組合框中輸入的字號添加到列表中EndSubPrivateSubCommand2_Click() '單擊"刪除"按鈕

Combo1.RemoveItemCombo1.ListIndex '刪除組合框中所選項目EndSubPrivateSubCommand3_Click() '單擊"清空"按鈕

Combo1.Clear '清空組合框中的所有項目EndSub第4章常用控件與窗體2022/12/174.7組合框(ComboBox)

(1)界面設計第4.7組合框(ComboBox)

輸入完成后,按F5鍵運行程序。在文本框中輸入任意文本,單擊組合框中的下拉按鈕,點選列表項,可以設置相應的字號。在組合框中輸入字號,單擊“添加”按鈕,列表中將增加所輸入的字號。選擇某一字號,單擊“刪除”按鈕,會刪除所選字號。單擊“清空”按鈕,則清除所有字號。運行無誤后,請保存工程,以備后用。4.7.3列表框與組合框的區別(1)選擇方式不同列表框將一系列的選項組合成一個列表,用戶可以選擇其中的一個或幾個選項,但不能向列表清單中輸入項目;組合框是綜合文本框和列表框特性而形成的一種控件,用戶可以從列表中選定項目,也能通過在組合框中輸入文本來選定項目。(2)形式不同列表框只有一種形式,只能在固定的區域內顯示項目列表;而組合框有三種不同的形式可供選擇,其中的“下拉式組合框”和“下拉式列表框”只顯示文本框和下拉按鈕,通過對下拉按鈕的單擊可對列表進行顯示和隱藏。(3)Text屬性的不同列表框的Text屬性值只能通過選擇列表中的項目來獲取;而組合框的Text屬性值不僅來自所選項目,還可以來自用戶在組合框中輸入的文本。因而,在使用AddItem方法添加項目時,組合框可以利用自身的Text屬性來獲得用戶輸入的文本;而列表框只能借助于InputBox函數或文本框控件來得到項目文本。第4章常用控件與窗體2022/12/174.7組合框(ComboBox)

輸入完成后,按4.8框架(Frame)

框架控件(Frame)可以用來對其他控件進行分組,以便于用戶識別。使用框架控件可以將一個窗體中的各種功能進一步進行分類,例如,用框架將多組單選鈕分隔開。框架和窗體、圖片框一樣都是容器。所謂容器,就是可以在其上放置其它控件對象的一種對象。容器內所有控件成為一個組合,隨容器一起移動、顯示、消失和屏蔽。借助框架的“容器”功能,可以在一個窗體中建立多個相互獨立的單選鈕組。在一個容器中的多個單選鈕形成一個單選鈕組,在此容器中,只能有一個單選鈕處于選中狀態,并且會保持其選中狀態一直到容器中其他單選鈕被選中。因此,可以在窗體上建立多個框架,在每個框架中建立單選鈕,從而形成多個單選鈕組,對一組單選鈕的操作不會影響其它組的單選鈕。(應用實例可參考圖4-12)在窗體上創建框架及其內部控件時,應先添加框架控件,然后單擊工具箱上的控件,用“+”指針在框架中以拖拽的方式添加控件。不能用雙擊的方式向框架中添加控件,也不能先畫出控件再添加框架。如果要用框架將窗體上現有的控件進行分組,則應該先選定控件,使用剪切命令(或按快捷鍵Ctrl+X)進行剪切,然后選定框架,使用粘貼命令(或按快捷鍵Ctrl+V)將控件粘貼到框架中。第4章常用控件與窗體2022/12/174.8框架(Frame)

框架控件(F4.8框架(Frame)

框架控件(Frame)可以用來對其他控件進行分組,以便于用戶識別。使用框架控件可以將一個窗體中的各種功能進一步進行分類,例如,用框架將多組單選鈕分隔開。框架和窗體、圖片框一樣都是容器。所謂容器,就是可以在其上放置其它控件對象的一種對象。容器內所有控件成為一個組合,隨容器一起移動、顯示、消失和屏蔽。借助框架的“容器”功能,可以在一個窗體中建立多個相互獨立的單選鈕組。在一個容器中的多個單選鈕形成一個單選鈕組,在此容器中,只能有一個單選鈕處于選中狀態,并且會保持其選中狀態一直到容器中其他單選鈕被選中。因此,可以在窗體上建立多個框架,在每個框架中建立單選鈕,從而形成多個單選鈕組,對一組單選鈕的操作不會影響其它組的單選鈕。(應用實例可參考圖4-12)在窗體上創建框架及其內部控件時,應先添加框架控件,然后單擊工具箱上的控件,用“+”指針在框架中以拖拽的方式添加控件。不能用雙擊的方式向框架中添加控件,也不能先畫出控件再添加框架。如果要用框架將窗體上現有的控件進行分組,則應該先選定控件,使用剪切命令(或按快捷鍵Ctrl+X)進行剪切,然后選定框架,使用粘貼命令(或按快捷鍵Ctrl+V)將控件粘貼到框架中。第4章常用控件與窗體2022/12/174.8框架(Frame)

框架控件(F4.8框架(Frame)

4.8.1屬性(1)Caption屬性設置框架的標題,顯示在框架的左上角,用于注明框架的用途。如果此值為空值,則框架顯示為封閉的矩形框。(2)Enabled屬性決定框架中的控件是否可用,可選值有True和False,默認值為True。True: 框架內控件可以響應用戶的操作,框架標題顏色為ForeColor中的顏色。False:框架內的控件不響應用戶的操作,框架標題顏色變為灰色。\4.8.2應用舉例

【例4.8】修改“簡單記事本”程序,要求能選擇字號,可選擇正常顯示還是反白顯示。分析:反白顯示即黑底白字顯示文本,正常顯示是白底黑字,可以通過設置文本框的BackColor和ForeColor屬性來實現。使用兩個框架,建立兩組互不干擾的單選鈕組,可分別實現對字號和顯示方式的選擇。(如圖4-12所示)第4章常用控件與窗體2022/12/174.8框架(Frame)

4.8.1屬性第44.8框架(Frame)

(1)界面設計打開上節保存的“簡單記事本”工程,刪除原有的組合框和相應代碼。新建二個框架。在每個框架中分別“畫”出二個單選鈕。二個框架和四個單選鈕的大小、位置和Caption屬性可參考圖4-12。設置標題為“10號”和“正常”的單選鈕的Value屬性值為True,使他們處于選中狀態。(a)運行后輸入內容(b)選擇字號(c)選擇反白顯示圖4-12用組合框選擇、添加、刪除字號第4章常用控件與窗體2022/12/174.8框架(Frame)

(1)界面設計(a)運行后輸4.8框架(Frame)

(2)編寫代碼依次雙擊四個單選鈕,輸入代碼如下:PrivateSubOption1_Click() '單擊“10號”單選鈕

Text1.FontSize=10 '字體大小為10號。EndSubPrivateSubOption2_Click() '單擊“12號”單選鈕

Text1.FontSize=12 '字體大小為12號。EndSubPrivateSubOption3_Click() '單擊“正常”單選鈕

Text1.BackColor=vbWhite '白底

Text1.ForeColor=vbBlack '黑字EndSub ‘vbWhite及vbBlack是VB中的Color常數,分別代表白色和黑色。PrivateSubOption4_Click() '單擊“反白”單選鈕

Text1.BackColor=vbBlack '黑底

Text1.ForeColor=vbWhite '白字EndSub

輸入完成后,按F5鍵運行程序。在文本框中輸入任意文本,單擊“12號”單選鈕,文本字號變為12號;單擊“反白”按鈕,文本以黑底白字的形式顯示。在設置時可以看到,兩個框架中的單選鈕互不干涉,對單選鈕的點選只能影響到本框架內的另一單選鈕。運行無誤后,請保存工程,以備后用。第4章常用控件與窗體2022/12/174.8框架(Frame)

(2)編寫代碼第4章4.9多窗體(Multi-Form)

多窗體(Multi-Form)是指一個應用程序中有多個并列的普通窗體,每個窗體都可以有自己的界面和代碼,完成不同的功能。在前面例題的程序中,都只使用了一個窗體。但在實際應用中,特別是對于較復雜的應用程序,單一窗體往往不能滿足需要,所以常用多窗體來解決問題。即使在我們的上機實踐中,也可以借助多窗體來實現在一個工程中編寫、查看多個例題或練習。4.9.1操作(1)添加窗體通過“工程”菜單中的“添加窗體”命令可以在當前工程中添加窗體,步驟如下:(a)單擊“工程”菜單中的“添加窗體”命令,打開“添加窗體”對話框。(b)“添加窗體”對話中框中有“新建”和“現存”兩個選項卡,可實現不同的操作。在“新建”選項卡中:選擇“窗體”項,單擊“打開”按鈕,可以建立一個新的窗體。在“現存”選項卡中:選擇并雙擊現有的窗體文件,可以把此窗體添加到當前工程中。第4章常用控件與窗體2022/12/174.9多窗體(Multi-Form)

多窗4.9多窗體(Multi-Form)

(c)如操作無誤,“工程資源管理器”窗口會顯示已添加窗體的名稱,添加操作完成。因為每一個窗體都是以后綴名為“.frm”的文件單獨保存的,所以能夠把已有的窗體添加到當前工程中,但是在添加時,有二個問題請注意:首先,要添加進來的窗體與工程中已有窗體的Name屬性不能相同,否則添加不能成功;其次,添加進來的現存窗體可能屬于另一工程或由多個工程共享,對此窗體的更改,會影響到共享該窗體的所有工程。(2)切換窗體在工程窗口(工程資源管理器窗口)中通過點擊窗體名可實現切換窗體。有多個窗體的工程中,單擊工程窗口中某個窗體的名稱,會使此窗體成為當前窗體,屬性窗口中會顯示此窗體的屬性,執行針對窗體的操作命令也會作用于此窗體;雙擊工程窗口中某個窗體的名稱,在切換窗體的同時,還會激活此窗體的對象窗口,使之成為當前窗口。當前窗體的名稱會在工程窗口中以藍底或灰底顯示。例如,在一個有三個窗體的工程中,單擊名稱為Form2的窗體,會使窗體Form2成為當前窗體,如圖4-12所示。圖中顯示的Form1、Form2、Form3是三個窗體名稱(即Name屬性值),名稱后面的L4_9.FRM、L4_1.FRM、L4_2.FRM是窗體文件的文件名。第4章常用控件與窗體2022/12/174.9多窗體(Multi-Form)

(c)如操作無誤,4.9多窗體(Multi-Form)

圖4-13工程窗口(3)刪除窗體工程窗口中右鍵單擊要刪除窗體的名稱,在右鍵菜單中選擇“移除”,即可刪除此窗體。(4)保存窗體首次保存多窗體工程時,VB會連續彈出多個保存對話框,提示為每個窗體起一個文件名,以便作為窗體文件單獨保存,默認文件名為Form1.frm、Form2.frm到FormN.frm;最后后提示保存后綴為“.vbp”的工程文件。若要只保存某個窗體,在工程窗口中右鍵單擊要保存窗體的名稱,在彈出的右鍵菜單中選擇“保存窗體”或“窗體另存為”即可。第4章常用控件與窗體2022/12/174.9多窗體(Multi-Form)

圖4-13工程4.9多窗體(Multi-Form)

4.9.2語句與方法在多窗體中,經常需要打開、顯示、隱藏、關閉指定的窗體,這此功能可以通過相應的語句和方法來實現。程序運行時,啟動窗體先要被裝入內存(Load),然后才能在屏幕上顯示(Show)。對于其他窗體,可以執行Load語句將其裝入內存,使用Show方法進行顯示;暫時不需要的窗體,能夠用Hide方法隱藏起來;對于不再使用的窗體,可以執行Unload語句將其在內存中卸載。(1)Load語句格式:Load窗體名稱功能:把指定的窗體裝入內存。說明:“窗體名稱”是窗體的Name屬性。執行Load語句后,可以引用窗體中的控件及各種屬性,但此時窗體沒有顯示出來。要顯示窗體,需要使用Show方法。(2)Show方法格式:[窗體名稱.]Show[模式]功能:顯示指定的窗體。說明:[窗體名稱.]項可以省略,省略此項時,表示對當前窗體進行顯示。第4章常用控件與窗體2022/12/174.9多窗體(Multi-Form)

4.9.2語句4.9多窗體(Multi-Form)

[模式]選項用來確定窗體的狀態,可選值為0(缺省值)和1,含義如下:0:窗體為“非模式型”,可以對本窗體或其他窗體進行操作,如查找、替換對話框。1:窗體為“模式型”,只能對本窗體而無法對其他窗體進行操作,如打開、保存對話框。在[模式]項取值為1時,本程序內的其他窗體不能響應對用戶的操作,只有在關閉該窗體后才能使用這些窗體。Show方法兼有裝入內存和顯示窗體兩種功能。在執行Show時,如果窗體不在內存中,則Show方法會自動把窗體裝入內存,然后再進行顯示。(3)Hide方法格式:[窗體名稱.]Hide功能:隱藏指定窗體。說明:使用后Hide方法,雖然窗體不顯示在屏幕上,但其仍在內存中。(4)Unload語句格式:Unload窗體名稱功能:清除內存中指定的窗體。說明:執行Hide方法和Unload語句后,窗體都會從屏幕上消失,但有所區別:第4章常用控件與窗體2022/12/174.9多窗體(Multi-Form)

[模式]選項用來確4.9多窗體(Multi-Form)

使用Hide方法后,指定窗體仍在內存中,使用Show方法時,此窗體會迅速顯示出來。此方法雖占用內存,但可以快速的再次顯示窗體,常用于隱藏暫時不需要的窗體。執行Unload語句后,指定窗體已不在內存中,使用Show方法時,還要把窗體從新裝入內存再進行顯示。此語句節省內存,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論