簡體   English   中英

c#-列表框如何通過索引獲取列表框值

[英]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();

因此,您必須使用ListBoxItemContent屬性 您正在使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM