![](/img/trans.png)
[英]How to autofill a radio_button, a few combo_boxes, many text_boxes, and a calendar FROM a combo_box selection
[英]How to get a Combo box to output into text boxes after item selection
我想做的是一旦用户从组合框中选择了一个项目,然后用相应的数据填充文本框。
我得到的错误是:
“ System.Collections.Generic.List.this [int]”的最佳重载方法匹配具有一些无效的参数
和
参数“ 1”:无法从“对象”转换为“ int”
这是我的代码的一部分:
List<Venue> Ven = new List<Venue>();
private void cboVenue_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
txtVenue.Text = Ven[cboVenue.SelectedItem].m_VenName;
}
catch
{
}
}
请,任何帮助将不胜感激。 谢谢
如果您正在使用数据绑定(或者即使您是手动填充组合框),则无论如何都要使用数据绑定...
<ComboBox x:Name="cmbBox" ItemsSource="{Binding Path=Ven}" />
<TextBox Text="{Binding Path=SelectedValue, ElementName=cmbBox}" />
请注意,您要获取SelectedValue,而不是SelectedIndex或SelectedItem。 但是,取决于设置组合框的方式,SelectedItem可能等同于SelectedValue ...,仍然使用SelectedValue。
尝试这个:
txtVenue.Text = Ven[cboVenue.SelectedIndex].m_VenName;
您还必须检查索引> = 0,索引-1表示“未选择任何内容”
尝试替换:
txtVenue.Text = Ven[cboVenue.SelectedItem].m_VenName;
与:
txtVenue.Text = Ven[cboVenue.SelectedIndex].m_VenName;
组合框的SelectedItem属性是一个对象,而不是一个int 。 因此,当您尝试访问列表中的项目时,会收到错误消息。
如果您已将数据绑定到组合框,使得SelectedItem确实包含列表索引值(但只是作为一个对象),则您需要做的所有事情就是将其强制转换为int, 然后使用它在列表中查找值。
例如
int index = Convert.ToInt32(cboVenue.SelectedItem)
然后,Ven [index]将包含您需要的内容。
或者,您可能需要查看组合框的SelectedText,SelectedValue或Selectedindex属性,以重新获得所需的值。
尝试使用SelectedIndex而不是SelectedItem。 它是整数。
List<Venue> Ven = new List<Venue>();
private void cboVenue_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
txtVenue.Text = Ven[cboVenue.SelectedIndex].m_VenName;
}
catch
{
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.