1

我有一个组合框,它读取一个目录并在组合框中显示文件名。我想要做的是当在组合框中选择一个值时,我希望在标签中显示它。

我试过以下

    Label1.Text = Combobox1.SelectedValue

但这似乎不起作用。

我在组合框中显示值的编码

With Combobox1
     .DisplayMember = "Name" 
     .ValueMember = "FullName"
     .DataSource = New IO.DirectoryInfo("Path").GetFiles().Select( _ 
       Function(fi) New With {.Name = IO.Path.GetFileNameWithoutExtension( _ 
       fi.FullName), fi.FullName}).ToArray()
End With

我在 Combobox1_SelectedIndexChanged 事件中有第一个编码片段。

当我在组合框中选择一个值但我想在 label1.text 中显示“名称”时,“全名”与 textbox1 一起使用

4

4 回答 4

2

使用SelectedItem.ToString(). SelectedValue是分配给用户看不到的项目的值。它有点像一个标签,如果你想这样看的话。如果您没有明确设置项目的值,它将为 NULL,这就是您在标签中看不到任何内容的原因。

SelectedValue对数据绑定非常有用。例如,您希望用户看到名称“John Smith”,但您希望将该值设置为绑定到的数据库行的主键。如果您根据该项目更新数据库,则可以将SelectedValue作为参数(John Smith 行的 PK)传递,因为它已经设置。

于 2012-05-24T13:43:11.077 回答
0

请像这样跟随。希望这可以帮助。

private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
    label1.Text=comboBox1.SelectedItem.ToString(); 

                    OR
    label1.Text=comboBox1.SelectedValue.ToString();

}
于 2012-05-24T13:47:39.487 回答
0

您可以使用 :

ComboBox1.SelectedItem.Name

或者

ComboBox1.SelectedItem.FullName

取决于你想要做什么。

SelectedItem是一个匿名对象,因此如果您在具有不同键/值的不同组合框上使用它,属性的名称将不同。

于 2012-05-24T20:25:08.743 回答
0

试试这个它对我有用,只需在此代码中给出您要从中访问文本的列名。

label1.Text = specific.Rows[comboBox1.SelectedIndex]["Column name"].ToString();
于 2020-03-15T14:39:35.733 回答