将焦点设置为另一个控件可防止当前控件值在VB.NET中发生更改



我在用VB.NET编写的WinForms应用程序中有一个ComboBox。在.SelectionChangeCommitted事件中,我想将焦点更改为其他特定控件,以帮助用户工作流。然而,当我这样做时,更改不会保存在初始ComboBox和值&索引将恢复为原始值。

我同时使用了myControl.Focus和myControl.选择

组合框设置如下:

With ChoosePartType
.DisplayMember = "PartName"
.DataSource = GetTable(qry) 'This custom function returns a DataTable with fields PartNum and PartName
.ValueMember = "PartNum"
.SelectedIndex = -1
End With

我认为焦点变化中的某些东西会阻碍属性的变化。在我改变注意力之前,有没有办法强迫它发生?

注意:似乎与WInformas组合框SelectionChangeCommitted事件有不同的问题;t总是更改SelectedValue

与此类似,但我不使用数据绑定:组合框数据绑定Bug-Won';如果程序性丢失焦点,则t写入值

尝试使用:

ChoosePartType.SelectedItem.Row("PartNum")

假设这是控件数据源的第一列,也可以写成:

ChoosePartType.SelectedItem.Row(0)

最新更新