ComboBox在SelectionChangeCommitted上获得了新的SelectedValue,但没有获得新的SelectedText

时间:2012-10-19 17:45:38

标签: c# .net winforms combobox selectedindexchanged

我有这段代码

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也给了我旧的

4 个答案:

答案 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)虽然对我有用。改变下拉式不是一种选择。