Как перемещать формы с помощью клавиш вверх, вниз, влево и вправо?
Я просто хочу перемещать форму по экрану с помощью стрелок на клавиатуре.
Что я уже пробовал:
Сначала я попробовал строки, которые я закомментировал, а затем я попробовал другой код ниже, но ничего не происходит ни с одним из решений, которые я пробовал.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace SC1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_MouseMove(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { this.Left += e.X - lastPoint.X; this.Top += e.Y - lastPoint.Y; } } Point lastPoint; private void Form1_MouseDown(object sender, MouseEventArgs e) { lastPoint = new Point(e.X, e.Y); } //Move form to the Right //private void RightButton_Click(object sender, EventArgs e) //{ // this.Location = new Point(this.Location.X + 10, this.Location.Y); //} //Move form to the left: //private void LeftButton_Click(object sender, EventArgs e) //{ // this.Location = new Point(this.Location.X - 10, this.Location.Y); //} //Move form up: //private void UpButton_Click(object sender, EventArgs e) //{ // this.Location = new Point(this.Location.X, this.Location.Y - 10); //} //Move form down: //private void DownButton_Click(object sender, EventArgs e) //{ // this.Location = new Point(this.Location.X, this.Location.Y + 10); //} protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { //capture up arrow key if (keyData == Keys.Up) { MessageBox.Show("You pressed Up arrow key"); return true; } //capture down arrow key if (keyData == Keys.Down) { MessageBox.Show("You pressed Down arrow key"); return true; } //capture left arrow key if (keyData == Keys.Left) { MessageBox.Show("You pressed Left arrow key"); return true; } //capture right arrow key if (keyData == Keys.Right) { MessageBox.Show("You pressed Right arrow key"); return true; } return base.ProcessCmdKey(ref msg, keyData); } } }