获取列表框中选定项目的值为字符串

问题描述:

我想使用下面的代码获取列表框中选定项目的值,但它总是返回空字符串。获取列表框中选定项目的值为字符串

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

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

我如何检索选定项目的值作为字符串?

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

listBox1.Items.Add(comboBox2.Text); 

enter image description here

有人已经回答了这个..

+2

请发布加载列表框的代码。 – 2013-02-21 13:11:50

如果你想检索项的显示文本,使用GetItemText方法:如果你想

string text = listBox1.GetItemText(listBox1.SelectedItem); 
+2

我可以...顺利! +1朋友。 – 2013-02-21 13:14:38

+0

仍然返回null – 2013-02-21 13:44:42

+0

@AmritSharma,你检查“SelectedItem”不是null吗? – 2013-02-21 14:18:52

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

String SelectedItem = listBox1.SelectedItem.Value; 
+1

listBox1.SelectedItem.Value; // listBox1.SelectedItem处的.Value部分似乎没有出现在我的IDE中。任何指针? – BKSpurgeon 2015-07-30 00:32:28

如果你正在使用你的应用程序列表框,并要返回列表框的选择值和标签或其他任何东西显示出来,然后使用此代码,它会帮助你

private void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     label1.Text = listBox1.SelectedItem.ToString(); 
    } 
+0

已经尝试了你建议的代码,它输出的字符串是:System.Windows.Controls.ListViewItem:AndThenTheActualString - 如何摆脱漫长的system.windows - 哪个人不想看? – BKSpurgeon 2015-07-30 00:30:26

+1

@BKSpurgeon答案适用于ListBox。你的代码使用ListView,这就是为什么在那里有“System.Windows.Controls.ListViewItem”。 – Dialecticus 2017-02-21 15:55:53

如果您想从一个列表框检索你的价值 你应该试试这个:

String itemSelected = numberListBox.GetItemText(numberListBox.SelectedItem); 
+0

GetItemText \t 方法不可用...请帮助... iam开发windows phone应用程序 – 2015-07-28 07:41:20

中检索ListBox中的所有选定项的值,你可以在DataRowView的投选中项,然后选择列数据所在的位置:

foreach(object element in listbox.SelectedItems) { 
    DataRowView row = (DataRowView)element; 
    MessageBox.Show(row[0]); 
} 

在文件列表框中的(完整路径)列表获取全名(托马斯Levesque的答案modificaton,感谢托马斯):

... 
     string tmpStr = ""; 
     foreach (var item in listBoxFiles.SelectedItems) 
     { 
      tmpStr += listBoxFiles.GetItemText(item) + "\n"; 
     } 
     MessageBox.Show(tmpStr); 
... 

string textValue = ((ListBoxItem)listBox1.SelectedItem).Content.ToString(); 
+1

这样使用'as'不是一个好主意。它看起来更干净,但格式不正确。 'as'用于检查某个对象是否属于某种类型。你正在使用错误的工具来完成这项工作。最好把它正确地转换成'((ListBoxItem)listBox1.SelectedItem)' – 2016-02-11 11:44:20

+0

感谢PC Luddite的解释,应该纠正它。 – Zael 2016-04-02 09:25:04

您可以使用这一个获取所选ListItme姓名::

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

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