欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#入門教程之ListBox控件使用方法

 更新時(shí)間:2010年04月14日 23:36:21   作者:  
本文講一下C#中ListBox控件的使用方法,也可以作為一門入門教程吧,請(qǐng)下本文的詳細(xì)講解。
ListBox控件的使用:
1)控件屬性
Items
SelectedItems
SelectioModes
2)數(shù)據(jù)綁定
DataSoure
DisplayMember
ValueMenber
3)實(shí)例
下面開(kāi)始一一說(shuō)明上面的ListBox控件的使用。
首先來(lái)說(shuō)控件的屬性,
(1)Items:使用此屬性獲取列表控件項(xiàng)的屬性。此屬性可用于確定列表控件中的選定項(xiàng)。添加items時(shí)既可以設(shè)計(jì)時(shí)靜態(tài)添加,也可以在代碼中動(dòng)態(tài)添加。如果不想顯示設(shè)計(jì)時(shí)添加的items,可以在代碼中添加this.listBox1.Items.Clear();只顯示在代碼中添加的選項(xiàng)。
(2)SelectedItems:獲取包含ListBox中當(dāng)前選定項(xiàng)的集合。
(3)SelectioModes:獲取或設(shè)置在ListBox中選擇項(xiàng)所用的方法。一共有四個(gè)值可選;默認(rèn)為 SelectionMode.One,只能選中一個(gè);屬性值為none時(shí)不能選擇;當(dāng)屬性MultiExtended 時(shí),按下 Shift 鍵的同時(shí)單擊鼠標(biāo)或者同時(shí)Shift 鍵和箭頭鍵之一(向上鍵、向下鍵、向左鍵和向右鍵),會(huì)將選定內(nèi)容從前一選定項(xiàng)擴(kuò)展到當(dāng)前項(xiàng)。按 Ctrl 鍵的同時(shí)單擊鼠標(biāo)將選擇或撤消選擇列表中的某項(xiàng);當(dāng)該屬性設(shè)置為MultiSimple 時(shí),鼠標(biāo)單擊或按空格鍵將選擇或撤消選擇列表中的某項(xiàng)。
接下來(lái)說(shuō)一哈數(shù)據(jù)綁定,通常數(shù)據(jù)都是可變的,所以說(shuō)就需要數(shù)據(jù)綁定。數(shù)據(jù)綁定有幾種,一種就是綁定從數(shù)據(jù)庫(kù)中獲取的DataTable或者是DataSet;另外一種就是自定義一個(gè)類,綁定自定義類中的數(shù)據(jù)。c#中的數(shù)據(jù)綁定與ASP.NET中的數(shù)據(jù)綁定還有一點(diǎn)區(qū)別,ASP.NET中綁定數(shù)據(jù)后還要調(diào)用一個(gè)DataBind方法,而在c#中就不需要。而DisplayMember獲取或設(shè)置要顯示的屬性。
最后我們來(lái)做一個(gè)實(shí)例如圖所示:

下面我們只是說(shuō)一哈幾個(gè)重要的方法的實(shí)現(xiàn),具體代碼就不在這寫(xiě)了。將左邊框中的選項(xiàng)放到右邊框中去。代碼:
復(fù)制代碼 代碼如下:

for (int i = this.listBox1.SelectedItems.Count - 1; i >= 0;i -- )
{
Menu menu = (menu)this.listBox1.SelectedItems[i];
this.listBox2.Items.Add(menu);
this.listBox1.Items.Remove(i);
}

上面雖然實(shí)現(xiàn)了功能但是有一個(gè)問(wèn)題,就是左邊的項(xiàng)到了右邊后變成了倒序。這是我們需要將添加和移出分開(kāi)寫(xiě),代碼:
復(fù)制代碼 代碼如下:

for (int i = 0; i < this.listBox1.SelectedItems.Count;i++ )
{
Menu menu = (menu)this.listBox1.SelectedItems[i];
this.listBox2.Items.Add(menu);
}
for (int i = this.listBox1.SelectedItems.Count - 1; i >= 0; i--)
{
this.listBox1.Items.Remove(i);
}

到現(xiàn)在為止還一個(gè)問(wèn)題就是當(dāng)選擇框中的前面幾個(gè)項(xiàng)的時(shí)候右移沒(méi)有問(wèn)題,但選擇后面幾個(gè)項(xiàng)時(shí)移到右邊框中的是后面幾個(gè)項(xiàng),而左邊框中移出的是前面幾個(gè)項(xiàng),造成這個(gè)問(wèn)題的原因是我們將
SelectedItems和Items混為一談了。這是很多初學(xué)者容易犯的錯(cuò)誤。代碼:
復(fù)制代碼 代碼如下:

for (int i = 0; i < this.listBox1.SelectedItems.Count;i++ )
{
Menu menu = (menu)this.listBox1.SelectedItems[i];
this.listBox2.Items.Add(menu);
}
for (int i = this.listBox1.SelectedItems.Count - 1; i >= 0; i--)
{
Menu menu = (menu)this.listBox1.SelectedItems[i];
this.listBox1.Items.Remove(menu);
}

這樣的話就對(duì)了。
個(gè)人自學(xué)不知說(shuō)的對(duì)不對(duì),希望各位支持支持,歡迎指正。

相關(guān)文章

最新評(píng)論