最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

下面我們只是說一哈幾個重要的方法的實現(xiàn),具體代碼就不在這寫了。將左邊框中的選項放到右邊框中去。代碼:
復(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);
}

上面雖然實現(xiàn)了功能但是有一個問題,就是左邊的項到了右邊后變成了倒序。這是我們需要將添加和移出分開寫,代碼:
復(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)在為止還一個問題就是當(dāng)選擇框中的前面幾個項的時候右移沒有問題,但選擇后面幾個項時移到右邊框中的是后面幾個項,而左邊框中移出的是前面幾個項,造成這個問題的原因是我們將
SelectedItems和Items混為一談了。這是很多初學(xué)者容易犯的錯誤。代碼:
復(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);
}

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

相關(guān)文章

最新評論

曲靖市| 壤塘县| 绩溪县| 六枝特区| 唐山市| 班玛县| 资源县| 仪陇县| 田东县| 沐川县| 藁城市| 桦南县| 吴桥县| 石城县| 远安县| 文化| 沛县| 光泽县| 金溪县| 镇平县| 隆德县| 苏尼特左旗| 荆门市| 靖江市| 黎城县| 买车| 教育| 望谟县| 张掖市| 永仁县| 科技| 新化县| 新田县| 金门县| 松江区| 中超| 海阳市| 深泽县| 宣武区| 伊宁市| 花垣县|