vb.net 2012
我有两个带有DropDownStyle DropDownList的组合框。我在表单加载时选择其中一个ComboBox,cboMyBox.Select()。我的问题是,当我以编程方式选择(或聚焦或选择)组合框时,它不会显示虚线高亮显示。当我在控件之间切换时,虚线高亮显示就好了。我在选择之前用数据填充组合框。
当我在代码中选择控件时,如何显示虚线高亮显示?
在代码中选择了Combobox但没有突出显示
标签到下一个控件并突出显示
Ctrl + Tab返回初始组合框,hightlight显示
答案 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键发送两次时才有效(不要问我原因,可能是时间问题)。