今天USER過來測試,提出一個C# win form 中實現焦點自動跳轉的問題!

yshp 2007-01-10 09:20:59
在一個窗口中,依次有一些文本框,要把一些信息掃描進去。用戶提出,不能每掃描一項就要動鍵盤鼠標,要光標在輸完當前項后,自動跳轉到下個文本框。
請教高手,該如何實現??
...全文
237 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wheeler 2007-01-10
  • 打赏
  • 举报
回复
naturalth(自我批判,是思想、品德、素质、技能创新的优良工具)的是个很好的方法

但我注意到你的问题里说信息是扫描进去的,也就是说你会用一个函数来接收扫描进来的信息并赋值给textBox;所以你完全可以在那个函数里添加跳转到下一个textBox的代码啊。
当然啦,更好的方法是在你扫描完数据后添加一个事件,然后把你所需要做的(如现在就是要跳转到下一个textBox)写在事件处理的函数里,这样的好处是以后修改和添加功能时方便
rainyubin 2007-01-10
  • 打赏
  • 举报
回复
学习,帮顶!
naturalth 2007-01-10
  • 打赏
  • 举报
回复
我觉得你可以设置每个textbox的TabIndex属性,按照顺序来,然后在form下写以下事件
private void Key_Down(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (e.KeyValue == 13)
{
SendKeys.Send("{tab}");
}
}

这样不管是按Tab或者回车都会光标移动下一个.
北京的雾霾天 2007-01-10
  • 打赏
  • 举报
回复
可以在扫描码的最后加一个回车符,这样就相当于扫描完了后按了回车键了.
ReachZh 2007-01-10
  • 打赏
  • 举报
回复
你的这个问题关键在于如何得到用户在何时确定文本框的内容已经输入完成了,我的建议是在用户输入完信息之后按下回车键后光标自动跳到下个文本框,或者你根据你的实际情况来决定触发跳转的事件。一般来说就在键盘弹起的事件都能做到的。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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