我有一个用VB.NET编写的WinForms应用程序中的ComboBox。在.SelectionChangeCommitted事件中,我想将焦点更改为一个不同的特定控件,以帮助用户工作流。但是,当我这样做时,更改没有保存在初始ComboBox上,值和索引恢复为原始值。
我已经使用了myControl.Focus和myControl.Select
组合框设置如下:
With ChoosePartType
.DisplayMember = "PartName"
.DataSource = GetTable(qry) 'This custom function returns a DataTable with fields PartNum and PartName
.ValueMember = "PartNum"
.SelectedIndex = -1
End With
我假设在改变焦点的过程中有什么东西使属性的改变短路了。有没有办法在我改变焦点之前强制它发生呢?
注:似乎是与WInforms Combobox SelectionChangeCommitted event doesn't always change SelectedValue不同的问题
与此类似,但我不使用数据绑定:Combobox DataBinding Bug - Won't write value if programmatically losing focus
1条答案
按热度按时间qlzsbp2j1#
尝试使用选择零件类型.选定项目.行(“零件编号”)。
假设这是控件数据源的第一列,则也可以将其编写为ChoosePartType.SelectedItem.Row(0)。