新手入门求教,如何在启动form之初,将光标焦点锁定在某一texbox?以texbox输入正确才能跳转到其他texbox的控制实现?

diaocanfa 2017-11-06 09:42:31
新手入门求教,如何在启动form之初,将光标焦点锁定在某一texbox?以texbox输入正确才能跳转到其他texbox的控制实现?
由于新手入门,基础尚弱,所以或问题肤浅或很不靠谱,而论坛里大神极多,请勿见笑及不吝赐教!谢谢!
...全文
398 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2018-01-18
  • 打赏
  • 举报
回复
1 在 Form_Activate 事件中使 Text1获得焦点。 2 在 Text1_Validate 事件中检查 Text1 内容,正确才允许离开。 3 要将 Exit 这一类按钮的 CauseValidate 属性设置为 False,以免不能正确输入 Text1 时无法退出。
Option Explicit

Private Sub Command1_Click()
    Unload Me
End Sub

Private Sub Form_Activate()
    Text1.SetFocus
End Sub

Private Sub Form_Load()
    Command1.Caption = "E&xit"
    Command1.CausesValidation = False
End Sub

Private Sub Text1_Validate(Cancel As Boolean)
    If Text1 <> "1234" Then Cancel = True
End Sub
另一种做法是去掉 Form_Activate 事件,在 Formload 中设置 Text1 的 TabIndex = 0:
Private Sub Form_Load()
    Command1.Caption = "E&xit"
    Command1.CausesValidation = False
    
    Text1.TabIndex = 0
End Sub
xzjxucxx 2018-01-15
  • 打赏
  • 举报
回复
不应该在form_load()中设置焦点,应该在form_activate()中设置焦点
赵4老师 2017-11-17
  • 打赏
  • 举报
回复
引用 7 楼 Chen8013 的回复:
这点微不足道的改变,有啥不习惯的。
说明某人是处女座。
X-i-n 2017-11-17
  • 打赏
  • 举报
回复
引用 6 楼 diaocanfa 的回复:
像大家所说的,老版本设焦点的方式是textbox.setfocus, 在2008版本中直接就是textbox.fous了,会不会不习惯?
问问题的时候注明一下是vb6还是.NET会更好一点,VB版块主要讨论VB6的相关主题,.NET有专门的版块,讨论.NET的问题针对性更强一点。 到了.NET,vb会更多地与这个平台保持统一,从而适当地抛掉一些历史包袱,因而从vb6转到.NET会有细微的不同,又由于几乎原样继承了之前的语法,所以可以很平滑地过渡,极大降低学习成本。你所说的这种变化,只要碰到一次,下次肯定就知道应该怎么写了,再加上VS的智能提示,这点改变完全不是问题。习惯了以后,C#也可以驾轻就熟。
舉杯邀明月 2017-11-16
  • 打赏
  • 举报
回复
这点微不足道的改变,有啥不习惯的。
diaocanfa 2017-11-16
  • 打赏
  • 举报
回复
像大家所说的,老版本设焦点的方式是textbox.setfocus, 在2008版本中直接就是textbox.fous了,会不会不习惯?
ZHRXJR 2017-11-09
  • 打赏
  • 举报
回复
Private Sub Form_Load() Me.Show Text1.SetFocus End Sub 在设计界面,将 Text1 的属性 TabIndex 设置为 0,将 Text2 的属性 TabIndex 设置为 1,将 Text3 的属性 TabIndex 设置为 2........在填写了 Text1 等 的内容后按【Tab】键就可以依次移动焦点。
小噤 2017-11-07
  • 打赏
  • 举报
回复
load前需要show
X-i-n 2017-11-07
  • 打赏
  • 举报
回复
用 textbox1.setfocus来设置当前焦点到textbox1 form_load的时候,设置焦点 textbox1_LostFocus的时候,设置焦点。
脆皮大雪糕 2017-11-07
  • 打赏
  • 举报
回复

Private sub Form_Load()
    Me.Show
    Text1.SetFocus
End Sub
Private sub Text1_LostFocus()
    If Text1.Text <> "测试正确" Then Text1.SetFocu
End Sub
of123 2017-11-07
  • 打赏
  • 举报
回复
在你的 Form 设计窗口中,用鼠标选择这个 TextBox,然后在属性窗口中把它的 TabIndex 属性改为 0。这样,在窗体启动后,它就缺省获得焦点。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧