Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共19 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:再谈SendKeys的使用

1楼
yangming 发表于:2009/9/6 13:07:00
     窗口中有一个文本框,用于输入数据,如果输错了,想删除,我点一下按钮,希望执行键盘的退格键的功能,但是我发现,不论我的光标放在何处,执行下列代码,都会删除文本框中所有的字符,而退格键的功能是,只删除光标左边的一个字符,应该如何写代码?

退格按钮的代码:
e.Form.Controls("TextBox1").Select()
SendKeys.Send("{BS}")
2楼
mr725 发表于:2009/9/6 13:39:00
全选了再Backspace 那是肯定会删除文本框中所有的字符

这样:?
e.Form.Controls("TextBox1").Select()
SendKeys.Send("{right 10}")       '次数不够可增加~
SendKeys.Send("{BS}")
[此贴子已经被作者于2009-9-6 13:52:26编辑过]
3楼
yangming 发表于:2009/9/6 14:01:00
以下是引用mr725在2009-9-6 13:39:00的发言:
全选了再Backspace 那是肯定会删除文本框中所有的字符

这样:?
e.Form.Controls("TextBox1").Select()
SendKeys.Send("{right 10}")       '次数不够可增加~
SendKeys.Send("{BS}")
[此贴子已经被作者于2009-9-6 13:52:26编辑过]

谢谢老师,这个好用,呵呵

4楼
yangming 发表于:2009/9/6 14:10:00

还有点问题,比如一组数字:9876,不论光标放在何处,它首先删除的都是"6",而退格键,是删除光标前面的一位数啊
我的代码是:
e.Form.Controls("TextBox1").Select()
SendKeys.Send("{right 1}")
SendKeys.Send("{BS}")

5楼
czy 发表于:2009/9/6 16:02:00
以下是引用mr725在2009-9-6 13:39:00的发言:
全选了再Backspace 那是肯定会删除文本框中所有的字符

这样:?
e.Form.Controls("TextBox1").Select()
SendKeys.Send("{right 10}")       '次数不够可增加~
SendKeys.Send("{BS}")
[此贴子已经被作者于2009-9-6 13:52:26编辑过]


SendKeys.Send("{right 10}") 和SendKeys.Send("{right}") 应该是没有区别的。

6楼
czy 发表于:2009/9/6 16:10:00
以下是引用yangming在2009-9-6 14:10:00的发言:

还有点问题,比如一组数字:9876,不论光标放在何处,它首先删除的都是"6",而退格键,是删除光标前面的一位数啊
我的代码是:
e.Form.Controls("TextBox1").Select()
SendKeys.Send("{right 1}")
SendKeys.Send("{BS}")


如果能判断出光标处于字符中的哪个位置就有办法,否则没门。

7楼
yangming 发表于:2009/9/6 16:35:00
以下是引用czy在2009-9-6 16:10:00的发言:


如果能判断出光标处于字符中的哪个位置就有办法,否则没门。

我也想过这问题,可是这个位置不好判断,但是我又想了,模拟键盘,就不该有这样的要求啊

8楼
mr725 发表于:2009/9/6 17:33:00
以下是引用czy在2009-9-6 16:02:00的发言:


SendKeys.Send("{right 10}") 和SendKeys.Send("{right}") 应该是没有区别的。

对呀,应为有Select() ,我晕~

9楼
易狐 发表于:2009/9/6 17:40:00
因为点击按钮,文字框焦点丢失,可以改用MouseHover事件,代码为SendKeys.Send("{BS}")即可实现效果!

注:不要放在MouseEnter等其他事件中,容易误删除!
10楼
程兴刚 发表于:2009/9/6 18:07:00
不过我认为没必要这么用,不管是表格还是文字框,输入内容几乎都在键盘操作,去点击按钮还要改变操作方式,那就不如直接点击Backspace键来得更快捷!
共19 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03906 s, 2 queries.