textbox 和有关控件聚焦的问题

seabirdforever 2003-03-04 06:36:09
我现在有些vb.net的问题,请指教:
我的思想是:
问题1
一个窗体设置几个button和一个textbox,
点击button输入数据或者用键盘输入数据,textbox显示输入的数据
我要求不管焦点在何处,都要求键盘能输入数据。
现在的问题是如果我点击了一个按钮button1,则聚焦在button1,
这个时候如果键盘输入回车,
就相当用鼠标点击了一下button1,即发生了一次 button1.click事
件。我期望在点击button1后
不让焦点停在button1上面,让button1恢复到聚焦前的状态,
当然也不想用foucs()让同窗体的其他控件聚焦。就像win2000的计
算器样,点击输入按钮输入数字,
每次点击后按钮都不聚焦,也没有其他控件聚焦
请问我该怎么实现?
问题2
在textbox输入验证的问题,
假设我要求他只能输入字符大小写字母,
如果键盘输入为非字母,则取消输入,
例如:我输入 A,则textbox的text就显示为A
如果我再输入数字1,则textbox保持A不变
我试着在textbox的Keydown事件里面,捕捉键盘输入,但事实上在
Keydown事件里面
查看 textbox的text已经变为了 A1,怎么样在textbox输入时,先
判断刚才输入的为何
数据,然后再决定是否textbox接受刚才的输入呢?

...全文
132 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
szch 2003-03-05
  • 打赏
  • 举报
回复
textbox的KEY事件中E.HANDLE=TRUE
seabirdforever 2003-03-04
  • 打赏
  • 举报
回复
把form的KeyPreview设为true,form优先于control接受到键盘事件,可以在form的keypress事件中判定按的哪个键,但还是有个问题,如果 焦点在 textbox时,form执行keypress事件后,textbox还是要接受到输入
例如,我在form的keypress里面让 textbox1.text=textbox1.text+InputStr (InputStr为键盘输入的字符),当焦点在textbox1时,如果我用键盘输入A,则textbox1.text此时接受到2个A,我怎么让textbox1无论焦点在哪里只接受一个A呢
seabirdforever 2003-03-04
  • 打赏
  • 举报
回复
是给自己平时工作用的一个小程序,
谢了哈
我在form的keypress里面判定输入的字符
If the KeyPreview property is set to True, a form receives the event before controls on the form receive the event. Use the KeyPreview property to create global keyboard-handling 。
szch 2003-03-04
  • 打赏
  • 举报
回复
朋友,是在做计算器吗?
VB。NET的SAMPLE中有CALA可参考一下
1-FORM中的KEYPREVIEW=TRUE,再通过FORM的CLICK事件处理
2-通过录入的KEYASCII或KEYCHAR判断

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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