Winform的 Button 的 鼠标 和 空格 事件 ??按下弹起状态??

CCDDzclxy 2013-10-10 12:31:04
RT

我想在 鼠标按下时做 操作A ,在鼠标弹起时做 操作B 。
这个我知道,通过 事件 MouseDown 和 MouseUp 实现。

现在,我需要 按下 键盘某一个键时Button显示按下状态,放开某一个键时Button弹起;就好像是鼠标按下松开显示的效果一样。我找了一下,空格键满足要求,但是 按下空格 时触发什么事件?松开空格时触发什么事件?如何捕获处理??


上面可能说的不细致,下面举个例子:
当button1是选中状态时,
按下鼠标左键 或者 按下空格键 时 ,button1 呈现如下效果 :

松开鼠标左键 或者 松开空格键 时 ,button1 还原为如下效果:


上面的操作中,鼠标操作对应的事件是MouseDown 和 MouseUp,但是 空格键的按下/松开对应应该在哪里处理??





...全文
358 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
全栈极简 2013-10-10
  • 打赏
  • 举报
回复
??
private void button1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Space)
            {
                //空格键按下
                button1.KeyUp += (ss, ee) =>
                {
                    if (ee.KeyCode == Keys.Space)
                    {
                        //空格键弹起
                    }
                };
            }
        }
CCDDzclxy 2013-10-10
  • 打赏
  • 举报
回复
引用 1 楼 wangjcltj 的回复:
keydown和keyup
keydown 并不会像 MouseDown 一样只触发一次,你空格不松开的话,keydown事件会一直触发
Andy__Huang 2013-10-10
  • 打赏
  • 举报
回复
KeyDown事件,判断当前按下的键是否是空格键?
blackant2 2013-10-10
  • 打赏
  • 举报
回复
KeyUp/KeyDown?
wangjcltj 2013-10-10
  • 打赏
  • 举报
回复
keydown和keyup
wy811007 2013-10-10
  • 打赏
  • 举报
回复
5L 正解 键盘就用keydown 和 keyup 鼠标就 mousedown 和 mouseup 那啥 你不管按什么 要判断按哪个键 不知道你弄这个要做什么呢?
wangjcltj 2013-10-10
  • 打赏
  • 举报
回复
引用 4 楼 CCDDzclxy 的回复:
[quote=引用 1 楼 wangjcltj 的回复:] keydown和keyup
keydown 并不会像 MouseDown 一样只触发一次,你空格不松开的话,keydown事件会一直触发[/quote] 你自己做限制事件只执行一次就行了

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧