以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 动态文本控件没有焦点显示 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149944) |
-- 作者:rogen -- 发布时间:2020/5/16 7:32:00 -- 动态文本控件没有焦点显示 窗体里用代码动态添加了几个文本框控件 点击文本框或者用tab切换焦点顺序时,看不到有闪动光标,不知道当前焦点是在哪个控件上
设计时手动添加的固定文本框,就能显示焦点光标
经研究,发现是因为对动态控件添加了字体,以下代码的红色部分,去掉红色代码就能显示焦点光标了
For i As Integer = 0 To 3
Dim txt As WinForm.TextBox
txt = e.Form.CreateControl("TextBox1", ControlTypeEnum.TextBox)
txt.Left = 100 + 20*i
txt.Top = 100 + 20*i
Dim fs As FontStyle = 0
Dim zt As String = "微软雅黑"
Dim fnt As New Font(zt,10, fs)
txt.font = fnt
e.Form.AddControl(txt)
Next
请教如何既能自定义字体,也能显示焦点光标?
[此贴子已经被作者于2020/5/18 10:57:45编辑过]
|
-- 作者:rogen -- 发布时间:2020/5/16 7:39:00 -- 重建一个测试项目又行了。。。 |
-- 作者:有点蓝 -- 发布时间:2020/5/16 8:53:00 -- 控件要处于选中状态才可以显示光标,一个窗口同时只能有一个控件处于选中状态。 |
-- 作者:rogen -- 发布时间:2020/5/18 8:05:00 -- 再次测试,发现只要加上多行文本时,就会不显示焦点
For i As Integer = 0 To 3 使用上面红色时,就会不显示焦点光标 请官方测试 |
-- 作者:有点蓝 -- 发布时间:2020/5/18 8:56:00 -- 把控件设置高一点即可 For i As Integer = 0 To 3 Dim txt As WinForm.TextBox txt = e.Form.CreateControl("TextBox" & i, ControlTypeEnum.TextBox) txt.Left = 100 + 20*i txt.Top = 100 + 50*i txt.Height = 40 txt.MultiLine = True e.Form.AddControl(txt) Next |