【问题标题】:Windows Forms Combo Box Text doesn't update when I manually change the text in the SelectedValueChanged Event当我手动更改 SelectedValueChanged 事件中的文本时,Windows 窗体组合框文本不会更新
【发布时间】:2022-01-07 12:57:03
【问题描述】:

我有以下代码

private void cbAddTicketItem_SelectedValueChanged(object sender, EventArgs e)
{
     string[] arr = cbAddTicketItem.Text.Split(' ');
     cbAddTicketItem.Text = arr[0];
}

cbAddTicketItem 是用户从项目列表中选择的组合框。每个项目的文本都包含一个描述。我想摆脱描述,只保留价值。调试显示 cbAddTicketItem.Text 具有正确的值,但表单上的文本没有更改。

我认为问题在于 winforms 没有触发 textChanged 事件,或者在我的编码事件运行后覆盖它。

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    你让生活变得相当辛苦。如果你做这样的事情会更容易:

    var dt - new DataTable();
    dt.Columns.Add("Disp");
    dt.Columns.Add("Val");
    dt.Rows.Add("Mark","1");
    dt.Rows.Add("Luke","2");
    dt.Rows.Add("John","3");
    
    someCombo.DisplayMember = "Disp";
    someCombo.ValueMember = "Val";
    someCombo.DataSource = dt;
    

    然后在一些按钮点击,让我们说:

    MessageBox.Show((string)someCombo.SelectedValue); //shows 2 if Luke is selected, etc
    

    【讨论】:

      猜你喜欢
      • 2020-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      • 2022-12-15
      • 2023-04-04
      • 1970-01-01
      相关资源
      最近更新 更多