c#窗体捕捉方向键

方法1

实现方法参考代码:

cs 复制代码
        private void Form1_Load(object sender, EventArgs e)
        {

            this.KeyPreview = true;

        }
        protected override bool ProcessDialogKey(Keys keyData)
        {
            if (keyData == Keys.Left || keyData == Keys.Right || keyData == Keys.Up || keyData == Keys.Down)
            {
                switch (keyData)
                {
                    case Keys.Left:
                        KeyLeftPress();
                        break;
                    case Keys.Right:
                        KeyRightPress();
                        break;
                    case Keys.Up:
                        KeyUpPress();
                        break;
                    case Keys.Down:
                        KeyDownPress();
                        break;
                }
            }
            return base.ProcessDialogKey(keyData);
        }
        public void KeyLeftPress()
        {

        }
        public void KeyRightPress()
        {

        }
        private void KeyUpPress()
        {
           
        }
        private void KeyDownPress()
        {
            
        }

        private void Form1_KeyPress(object sender, KeyPressEventArgs e)
        {
            this.Text = e.KeyChar.ToString();
            
        }
        

参考链接

为什么不能触发Form1_keydown事件?-CSDN社区https://bbs.csdn.net/topics/391894242

C# KeyDown事件-CSDN博客https://blog.csdn.net/fangyu723/article/details/108827544

方法2

参考代码

cs 复制代码
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Left)
        this.Left -= 100;
    if (e.KeyCode == Keys.Right)
        this.Left += 100;
    if (e.KeyCode == Keys.Up)
        this.Left -= 10;
    if (e.KeyCode == Keys.Down)
        this.Left += 10;

}

参考链接

Form窗体中判断按键信息_form1_keyup-CSDN博客https://blog.csdn.net/wuhongyao3/article/details/3959667

特此记录

anlog

2024年1月29日

相关推荐
jinanwuhuaguo3 分钟前
OpenClaw 2026年4月升级大系深度解读剖析:从“架构重塑”到“信任内建”的范式跃迁
android·开发语言·人工智能·架构·kotlin·openclaw
geovindu14 分钟前
go: Simple Factory Pattern
开发语言·后端·设计模式·golang·简单工厂模式
xixixi7777724 分钟前
从5G标准到6G前沿:Polar码的技术演进与未来之路
开发语言·人工智能·5g·大模型·php·通信·polar码
小二李32 分钟前
什么是依赖注入(DI)&控制反转IoC
java·开发语言
是宇写的啊42 分钟前
SpringIoc和Di
java·开发语言
沐雪轻挽萤43 分钟前
3. C++17新特性-带初始化的 if 和 switch 语句
开发语言·c++
xianluohuanxiang1 小时前
2026年深度:高精度气象+新能源,从风速误差到收益偏差,行业赋能正在重构电站盈利模型
大数据·开发语言·人工智能·机器学习
guygg881 小时前
OPC UA Helper: 连接PLC获取变量值
服务器·网络·c#
froginwe111 小时前
SQL PRIMARY KEY(主键)
开发语言
2401_885885041 小时前
视频短信接口集成起来复杂吗?API接入说明
开发语言·php·音视频