3.11 列表選擇控件 (ListBox)
列表選擇控件列出所有供用戶選擇的選項,用戶可從選項中選擇一個或多個選項。
1. 列表選擇控件的常用屬性、事件和方法
? 屬性 Items:存儲 ListBox 中的列表內容,是 ArrayList 類對象,元素是字符串。
? 屬性 SelectedIndex:所選擇的條目的索引號,第一個條目索引號為 0。如允許多選,該
屬性返回任意一個選擇的條目的索引號。如一個也沒選,該值為 -1。
? 屬性 SelectedIndices:返回所有被選條目的索引號集合,是一個數組類對象。
? 屬性 SelectedItem:返回所選擇的條目的內容,即列表中選中的字符串。如允許多選,
該屬性返回選擇的索引號最小的條目。如一個也沒選,該值為空。
? 屬性 SelectedItems:返回所有被選條目的內容,是一個字符串數組。
? 屬性 SelectionMode:確定可選的條目數,以及選擇多個條目的方法。屬性值可以使 :
none( 可 以 不 選 或 選 一 個 ) 、 one( 必 須 而 且 必 選 一 個 ) 、 MultiSimple( 多 選 ) 或
MultiExtended( 用組合鍵多選 )。
? 屬性 Sorted:表示條目是否以字母順序排序,默認值為 false,不允許。
? 方法 GetSelected():參數是索引號,如該索引號被選中,返回值為 true。
? 事件 SelectedIndexChanged:當索引號 (即選項 )被改變時發生的事件。
2. 例子 e3_7
根據列表框的選擇,為字符串加下
划線、刪除線、變斜體、變粗體。具體
步驟如下:
(1) 建立一個新項目。放 Label 控件到窗體, 其屬性 Text=“字體風格 ”。
(2) 放置 ListBox 控件到窗體中 , 屬性Name=listBox1 。 選 中 ListBox 控
件,在屬性窗口中,單擊 Items 屬性右側的三個小點,打開字符串集合編輯器對話框,
在其中輸入四項:粗體、斜體、下划線、刪除線,注意每一項要換行。如上圖。
(3) 設置列表選擇控件 ListBox1 屬性 SelectionMode 為 MultiExtended ,允許多選。
(4) 為列表選擇控件的事件 SelectedIndexChenged 增加事件處理函數如下:
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
int Style=0,k=1;//Style=0 正常字體, 1=黑體, 2=斜體, 3=黑斜體等.
for(int i=0;i<listBox1.Items.Count;i++)// 此例Count=4,為什么?
{
if(listBox1.GetSelected(i))// 例如此例 GetSelected(0)=true 表示粗體被選中
Style=Style|k;// 增加指定風格
else
Style=Style&(~k);// 取消指定風格
k=k*2;
}
FontStyle m=new FontStyle();
m=(FontStyle)Style;
label1.Font=new Font(label1.Font.Name,9,m);
(5) 編譯,運行,單選或用 Ctrl 鍵多選,看一下效果。運行效果如上圖。
(6)