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日

相关推荐
zhangjin11203 分钟前
java线程的阻塞和等待的区别
java·开发语言
贾修行6 分钟前
.NET 全栈开发学习路线:从入门到分布式
c#·.net·wpf·asp.net core·web api·winforms·services
未来可期LJ8 分钟前
【Qt 开发】Qt QFileDialog 文件对话框详解
开发语言·qt
SilentSlot9 分钟前
【QT-QML】2. QML语法
开发语言·qt·qml
轩情吖10 分钟前
Qt常用控件之QDial和QSlider
开发语言·qt
无限进步_11 分钟前
203. 移除链表元素 - 题解与详细分析
c语言·开发语言·数据结构·git·链表·github·visual studio
轩情吖14 分钟前
Qt多元素控件之QListWidget
开发语言·前端·c++·qt·控件·qlistwidget·桌面级
Getgit16 分钟前
在 VS Code 中配置 PHP 开发环境完整指南
开发语言·vscode·php·intellij-idea·database
无风听海18 分钟前
C# 中的 LinkedList
开发语言·c#
测试_AI_一辰18 分钟前
Agent & RAG 测试工程 02:RAG 从最小闭环到可信
开发语言·前端·人工智能·github·ai编程