點(diǎn)【關(guān)于本公眾號(hào)】了解一下,歡迎關(guān)注,謝謝! 快速瀏覽 實(shí)用案例 |日期控件||簡(jiǎn)單的收發(fā)存||收費(fèi)管理系(Access改進(jìn)版)| |電子發(fā)票管理助手||電子發(fā)票登記系統(tǒng)(Access版)| |中醫(yī)診所收費(fèi)系統(tǒng)(Excel版)||中醫(yī)診所收費(fèi)系統(tǒng)(Access版)||銀行對(duì)賬單自動(dòng)勾對(duì)| 收費(fèi)使用項(xiàng)目 內(nèi)容提要
一、復(fù)合框基本設(shè)置,各種屬性: 1、Name,復(fù)合框的初始Name為“ComboBox1”。 2、BorderStyle,邊框樣式: 3、BoundColumn,字面意思是“綁定的列”,是指在復(fù)合框顯示為多列時(shí),哪一列代表了控件的值(Value),即,雖然我們看到多列,其實(shí)只有一列代表ComboBox的Value,默認(rèn)為1,即第一列,可以根據(jù)實(shí)際需要修改。 4、ColumnCount,顯示多列時(shí)的列數(shù),默認(rèn)為1。 5、ColumnHeads,只有在列表來(lái)源是Excel工作表時(shí)才有效,默認(rèn)值為False,這個(gè)屬性從來(lái)沒(méi)有用過(guò),也沒(méi)試過(guò)以工作表數(shù)據(jù)作為列表來(lái)源。 6、ColumnWidths,列寬, 在多列的情況下設(shè)置各列的列寬: .ColumnWidths = "20, 80" 7、List,復(fù)合框的列表,如果增加索引值參數(shù) (從0開(kāi)始),則指向具體的那一行選項(xiàng);可以用AddItem方法添加列表項(xiàng)目,或者,我們可以把一個(gè)數(shù)組添加到ComboBox的List: .List=arr.AddItem "D".List(.ListCount - 1, 1) = "project d" 8、ListCount,列表?xiàng)l目計(jì)數(shù),即有多少個(gè)列表項(xiàng)目??捎糜谥付ㄗ詈笠粭l記錄,或者是可以通過(guò)ListCount計(jì)算出來(lái)的那條記錄。也經(jīng)常用于判斷列表是否為空。 .Text=.List(.ListCount - 1) 9、Style,是否可以自由輸入文本: 10、Text,顯示文本,有的時(shí)候,在窗體啟動(dòng)時(shí),我們先給ComboBox一個(gè)默認(rèn)的選項(xiàng)。 .Text=.list(0) '//第一個(gè).Text=.List(.ListCount-1) '//最后一個(gè) 11、TextColumn,指定在復(fù)合框的文本框中顯示的是哪一列的文本。 12、Value,值,在多列的情況下,如果設(shè)置了BoundColumn,則為綁定的那一列的值,否則則為默認(rèn)的第一列,如果同時(shí)設(shè)置了TextColumn,那復(fù)合框顯示的文本(text)與其值(Value)可能會(huì)不一致。 13、......。 二、復(fù)合框的方法: 1、Additem,添加列表項(xiàng)目。 With Me.ComboBox2 .ColumnCount = 2 .ColumnWidths = "20, 80" .AddItem "D" .List(.ListCount - 1, 1) = "project d" .AddItem "E" .List(.ListCount - 1, 1) = "project E"End With 2、Clear,清除ComboBox中的所有選項(xiàng),一般在窗體啟動(dòng)后,需要重新添加ComboBox的List的時(shí)候,使用AddItem方法的情況下可能會(huì)用到,如果是對(duì)整個(gè)List重新使用數(shù)組、字典一次性賦值,似乎不需要clear,當(dāng)然Clear一下也沒(méi)毛病。 3、RemoveItem,移除選項(xiàng),參數(shù)為選項(xiàng)的索引值,這個(gè)方法沒(méi)怎么用過(guò),下面的代碼移除第一個(gè)、最后一個(gè)項(xiàng)目,連續(xù)執(zhí)行,會(huì)移除所有列表項(xiàng)目,相當(dāng)于Clear,添加If判斷列表是否有項(xiàng)目,防止報(bào)錯(cuò): With Me.ComboBox1 '//移除第一個(gè) If .ListCount > 0 Then .RemoveItem 0 End If '//移除最后一個(gè) If .ListCount > 0 Then .RemoveItem .ListCount - 1 End IfEnd With 4、SetFocus,把焦點(diǎn)移到ComboBox。 5、DropDown,ComboBox獲得焦點(diǎn)后自動(dòng)打開(kāi)下拉列表,不需要我們?cè)偃c(diǎn)下拉箭頭。 三、復(fù)合框ComboBox的事件: 1、Change事件,當(dāng)我們選擇一個(gè)列表項(xiàng)目,或者在ComboBox的文本框中輸入內(nèi)容時(shí),觸發(fā)Change事件,我們可以根據(jù)ComboBox的Text來(lái)進(jìn)行進(jìn)一步處理,例如,把ComboBox的Text作為關(guān)鍵字進(jìn)行數(shù)據(jù)篩選,在ListBox、ListView等控件中顯示篩選后的內(nèi)容,也可以根據(jù)多個(gè)ComboBox設(shè)置多級(jí)聯(lián)動(dòng)下拉菜單。 2、其他事件用得較少,就不多啰嗦了。即便是Change事件,我們有時(shí)候也需要謹(jǐn)慎使用,特別是查詢(xún)大量數(shù)據(jù)的時(shí)候,我們可以不用Change事件,而是用一個(gè)命令按鈕,等ComboBox輸入妥當(dāng)以后,再點(diǎn)命令按鈕(比如“查詢(xún)”)來(lái)查詢(xún)、加載數(shù)據(jù),盡量避免在輸入錯(cuò)誤或不完整的情況下,還去查詢(xún)數(shù)據(jù),這樣就影響效率了。 1、復(fù)合框ComboBox是一個(gè)非常有用的控件,在數(shù)據(jù)輸入方面可以起到一個(gè)很好的規(guī)范作用; 2、用好復(fù)合框,最為關(guān)鍵的一點(diǎn)是如何添加List,可以使用AddItem方法添加,也可以通過(guò)數(shù)組、字典的keys、Items來(lái)一次性添加。 |
|
來(lái)自: 冷茶視界 > 《待分類(lèi)》