【问题标题】:keyboard shortcut does not open Form 3 as intended键盘快捷键未按预期打开 Form 3
【发布时间】:2013-06-17 17:58:15
【问题描述】:

我需要表单添加键 alt+1 来打开表单 3,但由于某种原因,当我调试并按下快捷方式时,它没有打开快捷方式

这是表格 2 中的代码段

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Alt && e.KeyCode == Keys.A)
    {
        Form3 f3 = new Form3();
        f3.ShowDialog();
    }

}

正如我所说,如果 ti 有帮助,它不会按预期打开表格 3,这是我在表格 2 中使用的整个代码: [更新] [未解决]

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
            this.KeyPreview = true;
            this.KeyDown += new KeyEventHandler(Form1_KeyDown);

        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            var myForm = new Form2();
            myForm.Show();

        }
        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Alt && e.KeyCode == Keys.A)
            {
                Form3 f3 = new Form3();
                f3.ShowDialog();
            }

        }

        private void Form2_Load(object sender, EventArgs e)
        {

        }
    }
}

【问题讨论】:

  • 您是否为 Form2 设置了 KeyPreview=True?
  • 它应该与预览一起使用。您的代码看起来有点令人困惑,为什么 Form2 有一个 Form1_KeyDown 事件?这是Form1还是Form2?同样,从 pictureBox_Click 创建的 Form2 在垃圾收集时也会消失。如果调用 Form.Show 而不是 Form.ShowDialog(),则需要在方法外部存储一个成员变量来保存对表单的引用。 ShowDialog 阻塞..并等待 close 被调用,Form.Show 不会..因此您的方法将结束并且 Form2 将可用于收集(然后将调用 Dispose 并销毁表单)
  • 您的Form1_KeyDown... 在您的班级Form2 中是一个了不起的点,您想为您的Form2 注册名称为Form1_KeyDownKeyDown 事件处理程序吗?我猜你甚至没有订阅你的Form2.KeyDown 活动。

标签: c# winforms keyboard-shortcuts visual-c#-express-2010


【解决方案1】:

您需要将表单的 KeyPreview 属性设置为 True。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-29
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 2015-07-09
    相关资源
    最近更新 更多