无法从组合框控件获取值
本文关键字:控件 获取 组合 | 更新日期: 2023-09-27 17:55:52
我尝试在winforms项目中使用组合框。
这是我的代码:
private void ShowContoursForm_Load(object sender, EventArgs e)
{
cbxSelectShape.DisplayMember = dataSetObject.ObjectShapes.ShapeNameColumn.ColumnName;
cbxSelectShape.ValueMember = dataSetObject.ObjectShapes.ShapeIDColumn.ColumnName;
cbxSelectShape.DataSource = dataSetObject.ObjectShapes;
}
private void cbxSelectShape_SelectedValueChanged(object sender, EventArgs e)
{
var id= (int)cbxSelectShape.SelectValue;
}
当我从组合框选择项目时,激活了 SelectedValueChanged,并且 id 变量变为空。
我需要获取所选项目的值,但我总是在 id 变量中得到 null。知道为什么我得到错误的结果以及如何修复此代码吗?
你可以这样获取ComboBox的索引:
private void cbxSelectShape_SelectedValueChanged(object sender, EventArgs e)
{
var id= ((ComboBox)sender).SelectedIndex;
}
您应该使用 combbobox 的 SelectedValue 属性来获取与 ValueMember 关联的值(在您的例子中为 ShapeID):
var id = ((ComboBox)sender).SelectedValue;
选定索引返回组合框中所选项目的索引。此外,如果此处理程序用于一个组合框,则无需强制转换发送者 - 只需使用组合框变量:
var id = cbxSelectShape.SelectedValue;