Winform 中 有2个窗体(Form1,Form2),初始焦点在Form1,在按下down键时焦点切换到Form2,在按下enter键时切换会Form1
时间: 2024-04-09 17:28:49 浏览: 70
要在 Winform 中实现按下 Down 键时焦点切换到 Form2,并在按 Enter 键时切换回 Form1,可以使用以下代码:
在 Form1 中的 KeyDown 事件中添加以下代码:
```csharp
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Down)
{
// 切换焦点到 Form2
Form2 form2 = new Form2();
form2.Show();
form2.Focus();
}
}
```
在 Form2 中的 KeyDown 事件中添加以下代码:
```csharp
private void Form2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
// 切换焦点回 Form1
this.Close();
}
}
```
这样,在 Form1 中按下 Down 键时,会创建一个新的 Form2 窗体并将焦点切换到它。在 Form2 中按下 Enter 键时,会关闭 Form2 窗体,焦点会自动切换回 Form1。记得将 Form1 和 Form2 的 KeyPreview 属性设置为 true,以便在窗体上处理键盘事件。
阅读全文