Foxtable(狐表)用户栏目专家坐堂 → 在keydown事件中有关输入值应如何取值?


  共有16699人关注过本帖树形打印复制链接

主题:在keydown事件中有关输入值应如何取值?

帅哥哟,离线,有人找我吗?
baoxyang
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
在keydown事件中有关输入值应如何取值?  发帖心情 Post By:2009/7/22 17:06:00 [只看该作者]

在窗口中文本框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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2009/7/22 18:55:00 [只看该作者]

哦,这个我知道,其实上面代码不是我的目的,主要是为什么取不值,我另有其它用途,上面只是随便举的一个例子罢了.没有说清楚.误会!sorry!

 回到顶部
帅哥哟,离线,有人找我吗?
baoxyang
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2009/7/22 20:13:00 [只看该作者]

关键问题是,为什么第一次没有离开文本输入框时,取不了值呢?

 回到顶部
美女呀,离线,留言给我吧!
shaof
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:67 积分:491 威望:0 精华:0 注册:2008/9/11 15:30:00
  发帖心情 Post By:2009/7/22 20:28:00 [只看该作者]

将dim s as string = e.Sender.value
改成dim s as string = e.Sender.text

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2009/7/22 21:42:00 [只看该作者]

谢了!OK

 回到顶部