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

c#使用listbox的詳細方法和常見問題解決

 更新時間:2022年01月10日 09:35:09   作者:癡者工良  
這篇文章介紹了c#使用listbox的詳細方法和常見問題解決,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

關(guān)于ListBox

ListBox是WinForm中的列表控件,它提供了一個項目列表(一組數(shù)據(jù)項),用戶可以選擇一個或者多個條目,當(dāng)列表項目過多時,ListBox會自動添加滾動條,使用戶可以滾動查閱所有選項。ListBox可以預(yù)先設(shè)定列表內(nèi)容,也可以綁定其他控件或數(shù)據(jù)庫,自動更新條目,把數(shù)據(jù)逐一顯示出來。

ListBox常用屬性

  • *列表索引值,是指列表中的條目的序號,從0開始,如0,1,2,3... ...,當(dāng)對列表進行增刪插入等操作時,條目的排序發(fā)生變化,索引亦會變化。
  • *選擇項索引,是指選中的項目亦從0開始的序號,當(dāng)對選中項進行增刪等操作時,數(shù)目發(fā)生變化,索引亦會變化。就好像我叫癡者工良,按照姓名拼音排序,在班級的學(xué)號是66,而在班里10個姓癡的同學(xué)中,我是3號。

兩者區(qū)別如下(有顏色背景為選中項):

常用屬性說明
Items 指列表中所有的條目集合,是一個數(shù)組集合??梢酝ㄟ^該屬性,對列表進行增添、移除或獲取列表內(nèi)容
MultiColumn用來設(shè)置或獲取一個值(bool值),表示是否允許多列顯示,true表示多列,false表示單列,默認為false。
CoumnWidth用來獲取列表當(dāng)前列的寬度或設(shè)置列表當(dāng)前列的寬度
SelectionMode

設(shè)置列表條目的選擇方法。

SelectionMode.None 表示不允許選中

SelectionMode.One 表示只允許用戶選擇一項

SelectionMode.MultiExtended 表示允許選擇多項,但選中的條目必定相連(相鄰)

SelectionMode.MultiSimple 表示允許選擇多項,可以任意選中多個條目。如下圖

SelectedIndex

*獲取選中項的索引

未選中任何項時,返回值為 1

單選時,屬性值即為選中項的索引

多選時,表示第一項選定項的索引,亦可使用SelectedIndex[i]獲取其它選中項索引,亦可讓某項變成選中狀態(tài)。i 為選中項從0開始的序號。

SelectedIndeces用來獲取選中項從0開始的索引的集合,一般只用于多項。與SelectedIndex相似,但SelectedIndeces只有獲取索引的能力。
SelectedItem獲取列表當(dāng)前選中項。注意,獲取到的是列表選中項的文本內(nèi)容,而SelectedIndex和SelectedIndeces獲取的只是選中項索引(int)。
SelectedItems

獲取選中項的集合,使用SelectedItems[i]來獲取選中項的文本內(nèi)容,i為選中項集合索引。

SelectedItems和SelectedIndex相似,但一個是獲取文本字段,一個是獲取索引。

Sorted用來設(shè)置或獲取列表是否按字母排序(bool)。
Text獲取或搜索列表控件當(dāng)前選定項的文本。
ItemsCount用來獲取當(dāng)前列表條目的 數(shù)目。

ListBox增加、插入或刪除內(nèi)容

這是通過使用Items屬性進行操作的,在visual studio中新建窗口,拖入一個列表控件,控件name為lixtBox1

listBox1.Items.Add("要增加的條目文本");   
     //將在列表后面添加
listBox1.Items.Insert(i, "要增加的條目文本");  
     //將在索引為i的條目后面插入一條新條目
listBox1.Items.Remove("在此放入你要移除條目的文本內(nèi)容");  
     //刪除是用的是文本內(nèi)容,而不是索引
listBox1.Items.Clear();                               
    //清空列表所有條目
listBox1.ClearSelected();                         
    //取消所有選中項,即變?yōu)槲催x中狀態(tài)

ListBox刪除多項內(nèi)容

很多朋友在這里摔跤,vs老是提示數(shù)組超出界限。因為ListBox的刪除要通過指定某項的文本,并且只能一項項的刪除,而刪除一項后索引又會發(fā)生變化,所以新手可能會很惘然。下面提供兩種刪除方式的代碼供新手參考。

for (int i=listBox1.SelectedItems.Count-1;i>=0 ;i--)         
{      //要從后面往前刪除
listBox1.Items.Remove(listBox1.SelectedItems[i]); 
      //SelectedItems直接獲取選中項的文本
}
//如果你是新手,看不懂上面的代碼,別急,跳過這里,先看下面內(nèi)容內(nèi)容,后面會詳細介紹
for (int i = listBox1.SelectedItems.Count-1; i >=0; i--)     
{      //亦是從后刪除

listBox1.Items.Remove(listBox1.Items[listBox1.SelectedIndices[i]]); 
      //先獲取索引,再獲取文本內(nèi)容 
}

獲取集合的數(shù)量

int i = 0;
i=listBox1.Items.Count;                
     //獲取列表所有條目的數(shù)量
i = listBox1.SelectedIndices.Count;    
     //獲取選中的條目的數(shù)量
i = listBox1.SelectedItems.Count;      
     //獲取選中的條目的數(shù)量
     //listBox1.SelectedIndex不能獲取數(shù)量!請翻閱屬性表,有關(guān)鍵詞“集合”。能夠獲取集合的屬性,才能獲取數(shù)量

獲取所有選中條目的內(nèi)容

再新建一個TextBox控件,name為textBox1,代碼如下

textBox1.Clear();
textBox1.Text = "選中項的內(nèi)容為\r\n";
for(int i=0;i<listBox1.SelectedItems.Count ;i++ )
{
   textBox1.Text += +listBox1.SelectedItems[i].ToString()+"\r\n";    

     //逐條讀取選中項的內(nèi)容

}

ListBox單選或多選

點擊ListBox控件,在屬性一欄找到SelectionMode屬性,亦可以代碼形式設(shè)定,屬性說明如下

  • SelectionMode.None 表示不允許選中
  • SelectionMode.One 表示只允許用戶選擇一項
  • SelectionMode.MultiExtended 表示允許選擇多項,但選中的條目必定相連(相鄰),鼠標當(dāng)選中一項后,按鍵盤↑↓可以選定一個范圍的選項,但選項不能間隔選中。如下圖:

  • SelectionMode.MultiSimple 表示允許選擇多項,可以任意選中多個條目,點一下可以選中一條項目,重復(fù)點一下即取消。如下圖

 以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C# 引入委托的目的是什么

    C# 引入委托的目的是什么

    這篇文章主要介紹了C# 引入委托的目的是什么,文中講解非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • C#異步編程之a(chǎn)sync/await詳解

    C#異步編程之a(chǎn)sync/await詳解

    異步這個概念在不同語境下有不同的解釋,不同的編程語言有不同異步編程方法,在C#語言中,常常使用async/await等關(guān)鍵字,和Task等類來實現(xiàn)異步編程。本文就來和大家聊聊async與await吧
    2023-03-03
  • C#使用DataSet Datatable更新數(shù)據(jù)庫的三種實現(xiàn)方法

    C#使用DataSet Datatable更新數(shù)據(jù)庫的三種實現(xiàn)方法

    這篇文章主要介紹了C#使用DataSet Datatable更新數(shù)據(jù)庫的三種實現(xiàn)方法,需要的朋友可以參考下
    2014-08-08
  • 深入理解C#之繼承

    深入理解C#之繼承

    這篇文章主要介紹了c# 繼承的相關(guān)資料,文中講解的非常細致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下,希望能給你帶來幫助
    2021-07-07
  • newtonsoft.json解析天氣數(shù)據(jù)出錯解決方法

    newtonsoft.json解析天氣數(shù)據(jù)出錯解決方法

    這篇文章主要介紹了NewtonSoft.JSon解析天氣數(shù)據(jù)時出錯的解決方法,需要的朋友可以參考下
    2014-02-02
  • C#中comboBox實現(xiàn)三級聯(lián)動

    C#中comboBox實現(xiàn)三級聯(lián)動

    給大家分享了C#中comboBox實現(xiàn)三級聯(lián)動的全部代碼,代碼經(jīng)過測試,有興趣的朋友跟著做一下。
    2018-03-03
  • c# 生成二維碼的示例

    c# 生成二維碼的示例

    這篇文章主要介紹了c# 生成二維碼的示例,幫助大家更好的理解和使用c#編程語言,感興趣的朋友可以了解下
    2020-11-11
  • 在C#中 webbrowser的使用心得

    在C#中 webbrowser的使用心得

    最近用webbrowser做了個東西,期間有點小曲折,而且網(wǎng)上的解決方法也基本都是淺嘗輒止,特此在這里發(fā)一下同大家分享。
    2013-04-04
  • C#實現(xiàn)常見時間格式

    C#實現(xiàn)常見時間格式

    這篇文章介紹了C#實現(xiàn)常見時間格式的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C#實現(xiàn)字母與ASCII碼互相轉(zhuǎn)換

    C#實現(xiàn)字母與ASCII碼互相轉(zhuǎn)換

    ASCII是基于拉丁字母的編碼系統(tǒng),也是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),本文主要為大家詳細介紹了如何使用C#實現(xiàn)字母與ASCII碼互轉(zhuǎn),需要的可以參考下
    2024-01-01

最新評論