C 窗體控制項更新(五)

2021-09-04 05:08:48 字數 4502 閱讀 7458

列表類控制項

十、listbox 控制項

listbox 控制項又稱列表框,它在工具箱中的圖示為,它顯示乙個專案列表供使用者選擇。在列表框中,使用者

一次可以選擇一項,也可以選擇多項。

1、常用屬性:

(1) items屬性:用於存放列表框中的列表項,

是乙個集合。通過該屬性,可以新增列表項、

移除列表項和獲得列表項的數目。

(2)multicolumn 屬性:用來獲取或設定一

個值,該值指示listbox是否支援多列。值

為 true 時表示支援多列,值為 false 時不支援

多列。當使用多列模式時,可以使控制項得以顯

示更多可見項,如圖9-19 所示。

(3)columnwidth 屬性:用來獲取或設定多

列 listbox控制項中列的寬度。

(4)selectionmode屬性:用來獲取或設定在listbox控制項中選擇列表項的方法。當 selectionmode屬性設

置為 selectionmode.multiextended 時,按下 shift 鍵的同時單擊滑鼠或者同時按 shift 鍵和箭頭鍵之一(上

箭頭鍵、下箭頭鍵、左箭頭鍵和右箭頭鍵),會將選定內容從前一選定項擴充套件到當前項。按 ctrl 鍵的同時

單擊滑鼠將選擇或撤銷選擇列表中的某項;當該屬性設定為 selectionmode.multi****** 時,滑鼠單擊或按-空格鍵將選擇或撤銷選擇列表中的某項;該屬性的預設值為selectionmode.one,則只能選擇一項。

(5)selectedindex屬性:用來獲取或設定listbox控制項中當前選定項的從零開始的索引。如果未選定任何

項,則返回值為1。對於只能選擇一項的listbox控制項,可使用此屬性確定listbox中選定的項的索引。如

果 listbox 控制項的 selectionmode 屬性設定為 selectionmode.multi****** 或 selectionmode.multiextended,

並在該列表中選定多個項,此時應用selectedindices來獲取選定項的索引。

(6)selectedindices。該屬性用來獲取乙個集合,該集合包含 listbox 控制項中所有選定項的從零開始的索

引。 (7)selecteditem屬性:獲取或設定listbox中的當前選定項。

(8)selecteditems屬性:獲取 listbox控制項中選定項的集合,通常在listbox控制項的selectionmode屬性值

設定為selectionmode.multi******或selectionmode.multiextended(它指示多重選擇listbox)時使用。

(9)sorted屬性:獲取或設定乙個值,該值指示listbox控制項中的列表項是否按字母順序排序。如果列表

項按字母排序,該屬性值為true;如果列表項不按字母排序,該屬性值為false。預設值為false。在向已排

序的 listbox控制項中新增項時,這些項會移動到排序列表中適當的位置。

(10)text 屬性:該屬性用來獲取或搜尋 listbox 控制項中當前選定項的文字。當把此屬性值設定為字串

值時,listbox 控制項將在列表內搜尋與指定文字匹配的項並選擇該項。若在列表中選擇了一項或多項,該

屬性將返回第乙個選定項的文字。

(11)itemscount屬性:該屬性用來返回列表項的數目。

2、常用方法:

(1)findstring方法:用來查詢列表項中以指定字串開始的第乙個項,有兩種呼叫格式。

[格式1]:

listbox物件.findstring(s);

[功能]:在「listbox 物件」指定的列表框中查詢字串 s,如果找到則返回該項從零開始的索引;如果找

不到匹配項,則返回listbox.nomatches。

[格式2]:

listbox物件.findstring(s,n);

[功能]:在 listbox 物件指定的列表框中查詢字串 s,查詢的起始項為n+1,即 n 為開始查詢的前一項的

索引。如果找到則返回該項從零開始的索引;如果找不到匹配項,則返回listbox.nomatches。

注意:findstring 方式只是詞語部分匹配,即要查詢的字串在列表項的開頭,便認為是匹配的,如果要

精確匹配,即只有在列表項與查詢字串完全一致時才認為匹配,可使用findstringexact方法,呼叫格式

與功能與findstring基本一致。

(2)setselected方法:用來選中某一項或取消對某一項的選擇,呼叫格式及功能如下。

[格式]:

listbox物件.setselected(n,l);

[功能]:如果引數 l 的值是 true,則在 listbox 物件指定的列表框中選中索引為 n 的列表項,如果引數l 的

值是 false,則索引為n 的列表項未被選中。

(3)items.add方法:用來向列表框中增添乙個列表項,呼叫格式及功能如下。

[格式]:

listbox物件.items.add(s);

[功能]:把引數s新增到「listbox物件」指定的列表框的列表項中。

(4)items.insert方法:用來在列表框中指定位置插入乙個列表項,呼叫格式及功能如下。

[格式]:

listbox物件.items.insert(n,s);

[功能]:引數n代表要插入的項的位置索引,引數 s代表要插入的項,其功能是把s插入到「listbox物件」

指定的列表框的索引為n的位置處。

(5)items.remove方法:用來從列表框中刪除乙個列表項,呼叫格式及功能如下。

[格式]:

listbox物件.items.remove(k);

[功能]:從 listbox物件指定的列表框中刪除列表項s。

(6)items.clear方法:用來清除列表框中的所有項。其呼叫格式如下:

listbox物件.items.clear();

該方法無引數。

(7)beginupdate方法和endupdate方法:這兩個方法均無引數,呼叫格式分別如下:

listbox物件.beginupdate();

listbox物件.endupdate();

這兩個方法的作用是保證使用 items.add 方法向列表框中新增列表項時,不重繪列表框。即在向列表框添

加項之前,呼叫beginupdate方法,以防止每次向列表框中新增項時都重新

繪製 listbox 控制項。完成向列表框中新增項的任務後,再呼叫 endupdate 方法使 listbox 控制項重新繪製。

當向列表框中新增大量的列表項時,使用這種方法新增項可以防止在繪製 listbox 時的閃爍現象。乙個例

子程式如下:

publicvoidaddtomylistbox()

listbox1.endupdate();

} listbox控制項常用事件有click和 selectedindexchanged,selectedindexchanged事件在列表框中改變選中項

時發生。

十一 、combobox 控制項

combobox 控制項又稱組合框,在工具箱中的圖示為。預設情況下,組合框分兩個部分顯示:頂部是乙個允

許輸入文字的文字框,下面的列表框則顯示列表項。可以認為combobox就是文字框與列表框的組合,與

文字框和列表框的功能基本一致。與列表框相比,組合框不能多選,它無 selectionmode 屬性。但組合框

有乙個名為dropdownstyle的屬性,該屬性用來設定或獲取組合框的樣式,其取值及含義如表9-10所示。

組合框的各種樣式如圖9-22 所示, 左邊的組合框能夠通過文字框輸入文字,中間的組合框則不能輸入文字,

只能選擇列表項。

12、checkedlistbox 控制項

checkedlistbox控制項又稱複選列表框,它擴充套件了listbox控制項,它幾乎

能完成列表框可以完成的所有任務,並且還可以在列表項旁邊顯示復

選標記。兩種控制項間的其他差異在於,複選列表框只支援

drawmode.normal,並且複選列表框只能有一項選定或沒有任何選定。此處需要注意一點:選定的項是指

窗體上突出顯示的項,已選中的項是指左邊的核取方塊被選中的項。複選列表框的樣式如圖9-23所示。

除具有列表框的全部屬性外,它還具有以下屬性。

(1)checkonclick屬性:獲取或設定乙個值,該值指示當某項被選定時

是否應切換左側的核取方塊。如果立即切換選中標記,則該屬性值為true;

否則為false。預設值為false。

(2)checkeditems 屬性:該屬性是複選列表框中選中項的集合,只代表

處於checkstate. checked或checkstate.indeterminate狀態的那些項。 該集

合中的索引按公升序排列。

(3)checkedindices 屬性:該屬性代表選中項(處於選中狀態或中間狀

態的那些項)索

引的集合。

C 窗體控制項更新(五)

列表類控制項 十 listbox 控制項 listbox 控制項又稱列表框,它在工具箱中的圖示為,它顯示乙個專案列表供使用者選擇。在列表框中,使用者 一次可以選擇一項,也可以選擇多項。1 常用屬性 1 items屬性 用於存放列表框中的列表項,是乙個集合。通過該屬性,可以新增列表項 移除列表項和獲得...

C 窗體控制項更新(一)

c 控制項一覽表 看完就會了,一 窗體 1 常用屬性 1 name屬性 用來獲取或設定窗體的名稱,在應用程式中可通過name屬性來引用窗體。2 windowstate屬性 用來獲取或設定窗體的視窗狀態。取值有三種 normal 窗體正常顯示 minimized 窗體以最小化形式顯示 和 maximi...

C 窗體控制項更新(六)

picturebox 控制項的使用 13 picturebox 控制項的使用 picturebox 控制項又稱框,常用於圖形設計和影象處理應用程式,在該控制項中可以載入的影象檔案格式 有 位 件 bmp 圖示檔案 ico 圖元檔案 wmf jpeg 和.gif 檔案。下而僅介紹該控制項的 常用屬性和...