禁用文本框的问题,该文本框在被禁用之前已具有焦点

时间:2019-01-15 10:36:07

标签: vb.net textbox visual-studio-2017

我有带Visual Studio 2017(Visual Basic)的Windows 7。

我有一个带有两个单选按钮和两个文本框的组框。选中radiobutton1时,两个文本框不可用(Textbox.Enabled = false)。

disabledTextboxes

当用户点击radiobutton2时,两个文本框将设置为enabled = true,第一个文本框将以textbox1.focus()成为焦点。

enabledTextboxes, Textbox1.focus()

当用户不输入任何值并单击单选按钮1时,两个文本框将再次设置为enabled = false。

执行此操作时,已禁用的textbox1textbox2看起来(插入)有所不同,因为它在被禁用之前就具有焦点。

disabledTextbox1 looks different

选中radiobutton2并在文本框中填写numvalues,然后使用Enter键来验证两个文本框时,将不再关注文本框。现在点击radiobutton1时,两个禁用的文本框看起来都一样。

在击中radiobutton1之前,我可以使用什么事件夺走文本框的焦点(焦点所在)?

1 个答案:

答案 0 :(得分:1)

问题解决了。

因为我没有其他控制权可将重点放在 我创建了一个宽度为0的标签,所以看不到IBeam光标。

我为单选按钮1创建了一个mouseenter事件和一个mouseleave事件。 当鼠标悬停在单选按钮1上时,“隐藏”标签将获得焦点。当鼠标离开radiobutton1时,textbox1再次获得焦点。

refresh()方法没有帮助。

感谢您的评论Visual Vincent!

p.s .:我不知道为什么,但是仅将焦点设置到标签而不使用鼠标事件并不能解决问题!