以编程方式选择时,ComboBox不会突出显示

时间:2015-09-30 19:40:24

标签: vb.net combobox

vb.net 2012

我有两个带有DropDownStyle DropDownList的组合框。我在表单加载时选择其中一个ComboBox,cboMyBox.Select()。我的问题是,当我以编程方式选择(或聚焦或选择)组合框时,它不会显示虚线高亮显示。当我在控件之间切换时,虚线高亮显示就好了。我在选择之前用数据填充组合框。

当我在代码中选择控件时,如何显示虚线高亮显示?

在代码中选择了Combobox但没有突出显示

Combobox selected but no highlight

标签到下一个控件并突出显示

Tab to next control and highlight shows

Ctrl + Tab返回初始组合框,hightlight显示

Ctrl+Tab back to initial combobox, hightlight shows

1 个答案:

答案 0 :(得分:0)

我做了一些实验,似乎一旦你选择了任何控件,如组合框或文本框,然后使用Select()Focus()方法,选择框(虚线矩形) )出现在所有组合框中;即使你以前没有选中所有这些标签。

诀窍是在表单打开时使用SendKeys标签到某些控件。

Private Sub Form1_Shown(sender as Object, e as EventArgs) _ 
    Handles Form1.Shown

    ' Select the control preceding a combo box in the tab order.
    textBox1.Select()

    SendKeys.SendWait("{Tab}")
    SendKeys.SendWait("{Tab}")

    ' Select the fist control to be selected when form opens.
    btnFocus.Select()
End Sub

仅当TAB键发送两次时才有效(不要问我原因,可能是时间问题)。