以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 在keydown事件中有关输入值应如何取值? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3653) |
-- 作者:baoxyang -- 发布时间:2009/7/22 17:06:00 -- 在keydown事件中有关输入值应如何取值? 在窗口中文本框Textbox1中,Keydown事件中有如下代码: If e.KeyCode = Keys.Enter then dim s as string = e.Sender.value e.form.controls("textbox15").value = s e.Cancel = True end if 当文本框Textbox1输入12345,按回车时,但结果是e.form.controls("textbox15").value 是空值,而不是12345,除非光标离开当文本框Textbox1后,再使用光标移到文本框Textbox1中再回车时,e.form.controls("textbox15").value 才是12345.请教这是怎么回事呀?可否达到第一次(光标未离开控件前)按回车时,可以传递文本框输入的值呢? |
-- 作者:mr725 -- 发布时间:2009/7/22 18:10:00 -- If e.form.controls("textbox1").text >"" then e.form.controls("textbox15").value = e.form.controls("textbox1").text else e.form.controls("textbox15").value ="" end if 放在textbox1 的 valuechanged里 [此贴子已经被作者于2009-7-22 18:13:22编辑过]
|
-- 作者:baoxyang -- 发布时间:2009/7/22 18:55:00 -- 哦,这个我知道,其实上面代码不是我的目的,主要是为什么取不值,我另有其它用途,上面只是随便举的一个例子罢了.没有说清楚.误会!sorry! |
-- 作者:baoxyang -- 发布时间:2009/7/22 20:13:00 -- 关键问题是,为什么第一次没有离开文本输入框时,取不了值呢? |
-- 作者:shaof -- 发布时间:2009/7/22 20:28:00 -- 将dim s as string = e.Sender.value 改成dim s as string = e.Sender.text |
-- 作者:mr725 -- 发布时间:2009/7/22 20:46:00 -- 原因我解释不了。~ 5楼的可以吗?! 试了下: 5楼的可以 另外,要取到值的话,在mouseup里的: e.form.controls("textbox15").value = e.form.controls("textbox1").text 直接搞定 [此贴子已经被作者于2009-7-22 21:18:03编辑过]
|
-- 作者:mr725 -- 发布时间:2009/7/22 21:28:00 -- 知道原因了: textbox1中,原始的value 等于空值,当你输入12345时,enter的结果送出原来的value空值到textbox15里所以,textbox15这时的值也是空值; 同时,textbox1中value的值变为12345了,当重新进入textbox1后,再按enter后,textbox1中的value(12345)才会送到textbox15里。 当把 e.Sender.value 改为 e.Sender.text 后,enter的结果直接把textbox1的text(12345)送到textbox15里了。 这样解释不知对否? 呵呵··· [此贴子已经被作者于2009-7-22 21:31:51编辑过]
|
-- 作者:baoxyang -- 发布时间:2009/7/22 21:42:00 -- 谢了!OK |