C# 按Esc键关闭窗体

第一种

        //重写ProcessCmdKey的方法
        protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
        {
            int WM_KEYDOWN = 256;
            int WM_SYSKEYDOWN = 260;
            if (msg.Msg == WM_KEYDOWN | msg.Msg == WM_SYSKEYDOWN)
            {
                switch (keyData)
                {
                    case Keys.Escape:
                        this.Close();//esc关闭窗体
                        break;
                }
            }
            return false;
        }

第二种

        private void Form1_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.Escape)//判断如果按下的是ESC键
            {
                if (MessageBox.Show("是否要退出程序","信息提示",MessageBoxButtons.YesNo)==DialogResult.Yes)
                {
                    Application.Exit();//退出应用程序
                }
            } 
        }

 

你可能感兴趣的:(C#)