【发布时间】:2011-06-02 04:58:55
【问题描述】:
在 C#.Net 中,我试图从选定的 ListBox 中检索数据。
例如。首先,我在 ListBox 中显示了许多从 MSSQL 2008 数据库中检索到的数据。 当我从该列表框中选择单个数据时,我想将所选数据显示到文本框中... 我怎样才能做到这一点? 我需要你的答案,因为我只是初学者, 知道的请回复我.. 谢谢
【问题讨论】:
标签: c#
在 C#.Net 中,我试图从选定的 ListBox 中检索数据。
例如。首先,我在 ListBox 中显示了许多从 MSSQL 2008 数据库中检索到的数据。 当我从该列表框中选择单个数据时,我想将所选数据显示到文本框中... 我怎样才能做到这一点? 我需要你的答案,因为我只是初学者, 知道的请回复我.. 谢谢
【问题讨论】:
标签: c#
捕获ListBoxSelectedIndexChanged事件,例如你可以这样做,
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
textBox1.Text = listBox1.SelectedItem.ToString(); //let textBox1 be your TextBox name and listBox1 be your ListBox name
}
【讨论】:
这实际上取决于您如何将数据存储到列表中。是那个简单的字符串还是一些复杂的对象,无论哪种情况,您都可以将所选项目转换为适当的类型。 例如。 如果您的列表框只包含字符串类型的项目,您将通过
string value=(string) this.listBox1.SelectedItem;
如果您的列表框包含其他复杂类型,您将通过
SomeComplexObject value=(SomeComplexObject) this.listBox1.SelectedItem;
或者,如果您已将列表框绑定到某种数据表或数据集。 您可以使用
获取所选项目的值string value=listBox1.SelectedValue.ToString();
所以现在, 当列表框选择的索引发生变化时。您可以使用设置文本框值。 一、订阅listbox index changed事件
this.listBox1.SelectedIndexChanged+=new EventHandler(changed);
还有你的处理程序。
private void changed(object sender,EventArgs args)
{
//set your text box text property here
//with the code provided earlier
}
【讨论】:
在 ASP.NET 中使用以下代码:
var selectedValue = listBoxObj.SelectedItem.value;
【讨论】: