Foxtable(狐表)用户栏目专家坐堂 → 动态文本控件没有焦点显示


  共有2128人关注过本帖树形打印复制链接

主题:动态文本控件没有焦点显示

帅哥,在线噢!
rogen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:537 积分:4430 威望:0 精华:0 注册:2015/11/22 10:28:00
动态文本控件没有焦点显示  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:537 积分:4430 威望:0 精华:0 注册:2015/11/22 10:28:00
  发帖心情 Post By:2020/5/16 7:39:00 [只看该作者]

重建一个测试项目又行了。。。

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/16 8:53:00 [只看该作者]

控件要处于选中状态才可以显示光标,一个窗口同时只能有一个控件处于选中状态。

 回到顶部
帅哥,在线噢!
rogen
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:537 积分:4430 威望:0 精华:0 注册:2015/11/22 10:28:00
  发帖心情 Post By:2020/5/18 8:05:00 [只看该作者]

再次测试,发现只要加上多行文本时,就会不显示焦点

 

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
    txt.MultiLine = True
    e.Form.AddControl(txt)
Next

使用上面红色时,就会不显示焦点光标

请官方测试


 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106674 积分:542559 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部