C#写的代码调试的时候可以实现可是运行的时候不能实现

我想在空格按下的时候执行某一段代码,可是当程序运行的时候实现不了这段代码。奇怪的是调试的时候可以实现。我纠结了,来个大神告诉我是怎么回事把

原因一:当前焦点不在你所需要按键的控件上,所以得不到按键的效果。单一控件不会这样;建议先屏蔽其他控件,尝试下,假如可以即该问题。
原因二:就像上下左右箭头键一样被系统定义为特殊用途的按键,需要重写相应的按键函数,建议更换字母键尝试下,假如字母键可以即使该问题。追问

我一共设定了4个按键当其中一个被按下后就会执行我需要执行的代码,其他的3个按键是Y,和两个Enter都是可以运行的,只有空格运行时不能实现,可是调试的时候又是可以实现的

追答

调试时编译程序在监听事件,逐行运行代码,调试通过很正常。运行时其实就是生成了应用程序,与系统或者其他应用程序冲突的,系统不一定会相应,所以需要通过更改通过实际运行再调试,找出原因。调试和测试还是有区别的。。。。

追问

那我应该怎么办,没遇到过这样的问题,能否给个思路

追答

由于你按Y键是可以的,建议这个功能不使用空格键,更换成其他字母键看是否可以。如果可以,说明是空格键与系统某些有冲突;如果不可以,再跟前面的Y键对换,这个要使用空格键的功能使用Y键,前面使用Y键的功能使用空格键,这个时候结果就有很多种组合可能了,需要各个分析。思路大致如此。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-11
用api做的????追问

钩子做的,也可以说是API

相似回答