Rss & SiteMap

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

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

标题:关于个人自定义计算器 求改进

1楼
yankunhao 发表于:2010/7/6 18:54:00

做了一个计算器窗口,当要计算时按=号就可以调出这个计算器窗口,然后输入如2+3+8的代码按回车就能将计算结果输入到当前行的数量列。

 但有个问题,现在只按=号是不能达到上述所说的,只有按“ctrl+=”才能达到所想的目的。

 

  请问有什么办法只按“=”号就能达到想要的结果呢?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:计算器.rar

[此贴子已经被作者于2010-7-6 18:55:40编辑过]
2楼
czy 发表于:2010/7/6 19:45:00
我按等于键可以调出窗口,只不过会在焦点单元格中输入等于字符。
3楼
yankunhao 发表于:2010/7/6 21:42:00
是可以调出窗口,但计算结果不会自动显示,如果按"ctrl + ="时调出窗口就能将计算结果显示于数量列的当前行里。
4楼
yankunhao 发表于:2010/7/6 22:06:00

If e.KeyCode=keys.Oemplus then
Sendkeys.Send("{TAB}")
e.Cancel=true
Forms("计算器").Open()
End If

 

这样就可以了,呵呵。

5楼
czy 发表于:2010/7/6 22:26:00
呵呵,Sendkeys.Send("{TAB}")多此一举吧?
6楼
yankunhao 发表于:2010/7/6 23:01:00
还是有一个问题(在独立窗口时),就是得到结果时,再按任何健都不会反应,除非点一下鼠标才行;如果改为模式窗口时,按健虽然有反应, 但得不到结果。
7楼
狐狸爸爸 发表于:2010/7/6 23:14:00

没必要用计算器吧,简单点,在ValidateEdit事件中判断输入内容,如果内容以“=”开始,例如:

 

=99+128

 

则用eval求此表达式的值,并用求得的值替换输入的内容。

[此贴子已经被作者于2010-7-6 23:14:29编辑过]
8楼
yankunhao 发表于:2010/7/7 8:49:00
以下是引用狐狸爸爸在2010-7-6 23:14:00的发言:

没必要用计算器吧,简单点,在ValidateEdit事件中判断输入内容,如果内容以“=”开始,例如:

 

=99+128

 

则用eval求此表达式的值,并用求得的值替换输入的内容。

[此贴子已经被作者于2010-7-6 23:14:29编辑过]

经测试这个方法只有在列的数据类型为字符时才可以,如果在数值列就不行。请问是这样吗?

9楼
狐狸爸爸 发表于:2010/7/7 8:59:00

是这个理,看来此方法没有实际意义。

 

图片点击可在新窗口打开查看

 

10楼
yankunhao 发表于:2010/7/7 9:07:00
所以还是以窗口的形来做吧,大家有没办法解决像我在6楼所说的现象呢?
共29 条记录, 每页显示 10 条, 页签: [1] [2][3]

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

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 3 queries.