我有这段代码
private void FrmNovedadMedidas_SelectionChangeCommitted(object sender, EventArgs e)
{
ComboBox c = (ComboBox)sender;
CargarMedidasPorIdTipoMedida(Convert.ToInt16(c.SelectedValue));
this.txtBoxNombreTipoMedida.Text = c.SelectedText;
}
c.SelectedValue
中的获得了选择的新值(用户在Combo中选择的值)。
但在c.SelectedText
中,我得到了ComboBox的旧值(我的意思是,在用户更改选择之前的那个)。
是否有任何属性可以为我提供新的选定文本? 我想避免每次都在绑定到ComboBox的DataSet中搜索。
我已阅读this但无效,我在ComboBox中没有CommitEdit()
编辑:
c.Text
也给了我旧的
答案 0 :(得分:2)
我似乎记得这种情况与ComboBox的DropDownStyle
有关。
您可以尝试不同的样式,看看Text属性是否设置为SelectionChangeCommited
内的新值?
根据您的评论,似乎使用DropDownList
样式解决了问题。
干杯
答案 1 :(得分:1)
我找到了一些东西。
c.GetItemText(c.SelectedItem)
是否有直接属性,请发布。 非常感谢readme。
答案 2 :(得分:1)
尝试使用ComboBox上的SelectedIndexChanged
事件与SelectionChangeCommited
事件。然后使用c.Text
获取用户刚刚选择的值。
答案 3 :(得分:0)
c.SelectedValue()
为我返回null
。
c.GetItemText(c.SelectedItem)
虽然对我有用。改变下拉式不是一种选择。