在 Microsoft.NET Framework 中,命名空间中有一个名为 System.Windows.Forms 的 Form 类,其中定义了许多事件。事件 KeyPressed 在Form 本身具有输入焦点时在键盘上按下一个键时发生。但是,如果我希望无论窗体是否具有输入焦点,在任何时候按下某个键时都会发生一些事情,我知道我可以运行一个计时器,然后 dll 从 user32.dll 中导入 GetKeyState 或 GetAsyncKeyState 函数,并且知道任何时候按下一个键。
我可以用鼠标用 Form 的 MouseDown 事件来做同样的事情,用相同的 user32.dll 函数和计时器,但是当我向上或向下滚动鼠标滚轮时,我可以编程使 Form 的 MouseDown 事件会发生一些事情.
Delta 是 MouseEventArgs 处鼠标滚轮事件的值,但它不仅会在鼠标滚轮向上或向下滚动时发生,而且我需要使用 MouseEvent 在该表单上输入焦点。
我不想依赖任何形式。我不知道将哪个整数提供给 GetKeyState 或 GetAsyncKeyState 函数来获取鼠标滚轮的状态,因此我可以在计时器频繁调用的函数的 if 中运行一段代码。
我应该怎么办?它是哪个整数?是否有来自 user32 或其他 dll 的其他函数可以返回“Delta”?如果我知道我会很高兴,所以请回答!:D