Winform的 Button 的 鼠标 和 空格 事件 ??按下弹起状态??
本帖最后由 CCDDzclxy 于 2013-10-10 12:32:16 编辑
RT
我想在 鼠标按下时做 操作A ,在鼠标弹起时做 操作B 。
这个我知道,通过 事件 MouseDown 和 MouseUp 实现。
现在,我需要 按下 键盘某一个键时Button显示按下状态,放开某一个键时Button弹起;就好像是鼠标按下松开显示的效果一样。我找了一下,空格键满足要求,但是 按下空格 时触发什么事件?松开空格时触发什么事件?如何捕获处理??
上面可能说的不细致,下面举个例子:
当button1是选中状态时,
按下鼠标左键 或者
按下空格键 时 ,button1 呈现如下效果 :
松开鼠标左键 或者
松开空格键 时 ,button1 还原为如下效果:
上面的操作中,鼠标操作对应的事件是MouseDown 和 MouseUp,但是 空格键的按下/松开对应应该在哪里处理??
------解决方案--------------------keydown和keyup
------解决方案--------------------KeyUp/KeyDown?
------解决方案--------------------KeyDown事件,判断当前按下的键是否是空格键?
------解决方案--------------------??
private void button1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Space)
{
//空格键按下
button1.KeyUp += (ss, ee) =>
{
if (ee.KeyCode == Keys.Space)
{
//空格键弹起
}
};
}
}
------解决方案--------------------
你自己做限制事件只执行一次就行了
------解决方案--------------------5L 正解
键盘就用keydown 和 keyup
鼠标就 mousedown 和 m