我正在尝试使用C#在VS 2013中创建一个简单的Windows窗体应用程序。表单有2个组合框,有一些字符串可供选择。我试图根据这些选择在2个文本框中显示结果,但是当我运行程序时,结果不会显示。我将代码放在方法中,用于从组合框中选择值。这就是我所拥有的:
private void SiteList_SelectedValueChanged(object sender, EventArgs e)
{
string SiteSelect = SiteList.SelectedValue.ToString();
string DateSelect = dateList.SelectedValue.ToString();
if (SiteSelect == "Alaska" && DateSelect = "January 2014")
{
actualResults.Text = "$391,015.92";
estimateResults.Text = "No Estimate Available";
}
}
答案 0 :(得分:0)
试试这个:
string SiteSelect = SiteList.SelectedItem.ToString();
string DateSelect = dateList.SelectedItem.ToString();
SelectedItem是在comboBox中选择对象的方法。值将仅选择显示字符串(我不知道为什么但它不能一直工作)。我总是将SelectedItem与toString()一起使用以将对象作为字符串
答案 1 :(得分:0)
使用此SelectedItem
代替SelectedValue
string Site = SiteList.SelectedItem.ToString();
string Date = dateList.SelectedItem.ToString();
答案 2 :(得分:0)
您已订阅SelectedValueChanged
活动
仅当通过设置DataSource
属性
Me.ComboBox.DataSource = yourListOfItems;
如果手动添加项目(我假设)
Me.ComboBox.Items.Add(yourNextItem);
然后您需要订阅SelectionChangesCommitted
事件
并且正如其他答案所述,使用SelectedItem
获取选定值
因为SelectedValue
,在手动添加项目的情况下,将返回null