[英]c#- listbox how to get listbox values by index
我想知道如何按索引取列表框值? 在我的第一個索引的列表框中,我的內容為“一個”
private void Window_Loaded_1(object sender, RoutedEventArgs e)
{
string[] n = new string[1];
n[0] = listBox1.Items[0].ToString();
txtbox1.Text = n[0];
}
當我獲得第一個列表框值時使用上面的代碼將返回以下內容:
System.Windows.Controls.ListBoxItem:一個
如何只獲取listItem(index)
誰能幫幫我嗎?
只需使用
n[0] = listBox1.Items[0].Content.ToString();
代替
n[0] = listBox1.Items[0].ToString();
因為ListBox
上的.ToString()
只是將控件作為字符串返回。 當您要獲取文本時,需要調用Text.ToString()
,您可以將其視為字符串。
我必須承認我不熟悉WPF控件,但是MSDN展示了它:
ListBoxItem lbi = listBox1.Items[0] as ListBoxItem; // cast object to ListBoxItem
txtbox1.Text = lbi.Content.ToString();
因此,您必須使用ListBoxItem
的Content
屬性 。 您正在使用ToString
,如果ToString
沒有被有意義的覆蓋,它只會返回該類型的完全限定名稱。
如果ListBox
為空,則嘗試通過索引訪問第一個項目時會出現異常,必須首先檢查它:
if(listBox1.HasItems) // you can also use listBox1.Items.Count > 0
{
ListBoxItem lbi = listBox1.Items[0];
// ...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.