31

我正在尝试使用下面的代码获取列表框中所选项目的值,但它总是返回空字符串。

DataSet ds = searchforPrice(Convert.ToString(listBox1.SelectedItem));

在这里,我试图将所选项目的值作为字符串传递给方法 searchforPrice 以从数据库中检索数据集。

如何将所选项目的值检索为字符串?

我正在从组合框将项目添加到列表框中,组合框又从数据库中加载项目。

 listBox1.Items.Add(comboBox2.Text);

在此处输入图像描述

任何人都有这个答案..

4

10 回答 10

93

如果要检索项目的显示文本,请使用以下GetItemText方法:

string text = listBox1.GetItemText(listBox1.SelectedItem);
于 2013-02-21T13:13:28.903 回答
10

如果您在应用程序中使用 ListBox 并且想要返回 ListBox 的选定值并将其显示在标签或其他任何东西中,然后使用此代码,它将帮助您

 private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
         label1.Text  = listBox1.SelectedItem.ToString();
    }
于 2014-03-05T10:06:36.063 回答
1

要检索 à listbox 中所有选定项目的值,您可以在 DataRowView 中转换选定项目,然后选择数据所在的列:

foreach(object element in listbox.SelectedItems) {
    DataRowView row = (DataRowView)element;
    MessageBox.Show(row[0]);
}
于 2015-01-29T18:18:49.780 回答
1
string textValue = ((ListBoxItem)listBox1.SelectedItem).Content.ToString();
于 2016-02-11T09:27:46.423 回答
0

如果您想从列表框中检索您的值,您应该尝试以下操作:

String itemSelected = numberListBox.GetItemText(numberListBox.SelectedItem);
于 2014-04-17T09:47:13.567 回答
0

在文件列表框中获取 FullName(完整路径)列表(Thomas Levesque 回答修改,感谢 Thomas):

...
        string tmpStr = "";
        foreach (var item in listBoxFiles.SelectedItems)
        {
            tmpStr += listBoxFiles.GetItemText(item) + "\n";
        }
        MessageBox.Show(tmpStr);
...
于 2015-11-16T13:13:48.480 回答
0

你可以使用这个来获取选中的 ListItme Name::

String selectedItem = ((ListBoxItem)ListBox.SelectedItem).Name.ToString();

确保您的每个 ListBoxItem 都有一个 Name 属性

于 2017-09-10T18:45:15.207 回答
0

详细说明 Pir Fahim 先前的回答,他是对的,但我使用的是 selectedItem.Text (唯一让它对我有用的方法)

使用 SelectedIndexChanged() 事件将数据存储在某处。就我而言,我通常填写一个自定义类,例如:

class myItem {
    string name {get; set;}
    string price {get; set;}
    string desc {get; set;}
}

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
     myItem selected_item = new myItem();
     selected_item.name  = listBox1.SelectedItem.Text;
     Retrieve (selected_item.name);
}

然后您可以从“myItems”列表中检索其余数据..

myItem Retrieve (string wanted_item) {
    foreach (myItem item in my_items_list) {
        if (item.name == wanted_item) {
               // This is the selected item
               return item; 
        }
    }
    return null;
}
于 2019-08-24T12:38:47.930 回答
-1

正确的解决方案似乎是:

string text = ((ListBoxItem)ListBox1.SelectedItem).Content.ToString();

请务必使用.Content而不是.Name

于 2018-11-26T05:50:25.913 回答
-2

如果您想检索从列表框中选择的项目,这里是代码...

String SelectedItem = listBox1.SelectedItem.Value;
于 2013-09-29T16:54:46.403 回答