小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

ComboBox的常用屬性

 L羅樂(lè) 2017-09-18

前面介紹了文本框,以及列表框的常用屬性和方法。我們所沒(méi)有介紹的是,這兩個(gè)控件幸福地生活在了一起,然后呢?當(dāng)然有然后了,ComboBox就出世了!

ComboBox,中文叫復(fù)合框,顧名思義,是把文本框和列表框的特性結(jié)合起來(lái)的一種控件。這個(gè)控件,既可以輸入文字,也可以像列表框一樣選擇選項(xiàng)。

屬性

ComboBox的很多屬性,例如List,RowSource,BoundColumn,ColumnCount是和ListBox一樣的,這里就不再做詳細(xì)解釋。

同樣的,MaxLength,SelStart,SelLength這些屬性和TextBox中的也是一樣的。

另外,ComboBox的AddItem 和 Clear方法,也是和ListBox一樣的。

當(dāng)然,作為一個(gè)獨(dú)立的控件,ComboBox也有自己特定的屬性,在這里仔細(xì)研究一下。

限制輸入

作為一個(gè)高貴的ComboBox,如果要摒棄TextBox的血統(tǒng),也就是不能在框里輸入文字,可以由這么兩種方式:

MatchRequired

這是一個(gè)布爾變量,可以在F4調(diào)出ComboBox的屬性然后進(jìn)行設(shè)置。設(shè)置為T(mén)rue之后,當(dāng)ComboBox失去焦點(diǎn)時(shí),ComboBox的值必須是他的列表項(xiàng)中的一個(gè)。否則,即使ComboBox為空,也會(huì)報(bào)錯(cuò)。

Style

使用MatchRequired這種設(shè)置方法,雖然起到了限制作用,但還是存在用戶把ComboBox中的數(shù)據(jù)刪除留空,然后報(bào)錯(cuò)的情況。那么如何避免呢?
可以通過(guò)調(diào)整Style屬性來(lái)處理。Style屬性有兩個(gè)可選值,

  • 0代表正??梢暂斎胛谋荆⑶疫x擇列表項(xiàng)

  • 設(shè)置為2,就代表只能選擇列表項(xiàng)中的數(shù)據(jù),而不能自行改變。

代碼檢查

當(dāng)然,我們也可以通過(guò)代碼來(lái)檢查用戶輸入的到底是不是有效數(shù)據(jù)。這里會(huì)用到ListIndex屬性。

我在這里先定義了一個(gè)叫做CboCurrency的ComboBox,然后用他的Exit事件:

Private Sub CboCurrency_Exit(ByVal Cancel As MSForms.ReturnBoolean)    If CboCurrency.ListIndex = -1 Then MsgBox 'invalid data !', vbCritical vbOKOnly End Sub

TextColumn

用于設(shè)定Text屬性返回哪一列的數(shù)據(jù)。默認(rèn)是-1,也就是ComboBox的文本顯示第一列的數(shù)據(jù)。如下圖所示:

如果我們把這個(gè)數(shù)字設(shè)置為2(當(dāng)然前提是ComboBox的columncount也要設(shè)置為2,并且正確對(duì)RowSource進(jìn)行賦值),那么我們就會(huì)發(fā)現(xiàn)ComboBox的文本顯示的是第二列的值。
TextColumn設(shè)置為2的ComboBox長(zhǎng)的是這個(gè)樣子:

Text

在TextBox里,Text屬性和Value值相同。但是在ComboBox里,Value返回的是BoundColumn的值,而Text返回的是ComboBox的文本框里顯示的值。這個(gè)是有區(qū)分的,不一定相同。

Column

這個(gè)屬性用于引用ComboBox中指定行和列的某個(gè)值。還是以上面的ComboBox為例,如果我要引用第二行的第一列和第二列的值(也就是澳大利亞元和100),那么我可以這樣寫(xiě):

Private Sub CommandButton1_Click()    With CboCurrency        Debug.Print .Column(0, 0), .Column(1, 0)    End With End Sub
  • column(col, row)屬性是先寫(xiě)列,后寫(xiě)行,這和我們一般用的cells(row,column)引用先行后列不同。

  • 另外,column屬性的行和列的下標(biāo)都是從0開(kāi)始的。column(0,0)代表第一列,第一行所對(duì)應(yīng)的數(shù)據(jù)。

  • 如果要直接引用所選中列表項(xiàng)的某一列數(shù)據(jù),那么column屬性的第二個(gè)參數(shù)可以省略。如果非得要寫(xiě)的話,那么就用ListIndex屬性吧

總結(jié)一下

  • ComboBox的常用屬性



    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多