Keith™ 发表于 2007-2-12 14:14:17

ESC in sub

好吧,也许我不明白,但是你怎么能把ESC键困在一个表单中呢 我'我试图做的是捕捉用户是否在我的一个Sub中点击ESC 首先让我备份一下,我有一个表单,当用户单击一个按钮时,它调用模块中的一个子模块 我'我尽量避免50艘公共潜艇 我想叫一名私人助理;既然你不能在不同的模块中调用私有sub,那么我需要去掉我的模块并将所有内容都放在表单的代码部分吗 这种方法有什么问题吗 当我试图为ESC键声明一个常数时,您可以't在form对象中声明常量。(否则我也做错了);我试图使用RR's post的例行程序
有什么想法吗。。。。

Keith™ 发表于 2007-2-12 15:17:29

我仍然不'我不明白你想做什么……你想阻止一个人按ESC键退出表单吗?我不知道'我不这么认为。但是,你可以在queryclose中获取值并保持表单打开,如果你只是想知道用户是否按了esc键,你应该能够从KeyDown事件返回值,但这很有趣,我不知道;我不相信它

Keith™ 发表于 2007-2-12 15:39:02

如果用户按下ESC,我没有错误处理程序 如果您这样做,它会生成一个未处理的Err Exp;因此,我试图优雅地处理它 我最后做的测试是将代码放在每个模块中(目前为1个测试),并开始测试按ESC键的每种方式,看看它是否捕捉到它
另一方面,我已经将我的所有sub都更改为函数,这将它们从可以运行的宏列表中删除 这有什么坏处吗 当没有返回值时,我总是使用sub,当我想返回值时使用函数 在C#中,您可以将其声明为VOID,但VBA不35;039;t使用它(我不知道)。

Keith™ 发表于 2007-2-12 16:12:59

你试过键盘挂钩或GetAsyncKeyState吗
试着看看这两篇文章,我会举一个例子,但在这里发布要复杂得多http://www.codeguru.com/vb/gen/vb_system/keyboard/print.php/c4829/http://www.pscode.com/vb/scripts/ShowCode.asp?txtCodeId=41506&lngWId=1

Keith™ 发表于 2007-2-12 16:27:13


是的,那是我用的
页: [1]
查看完整版本: ESC in sub