c#,按下esc键,则退出程序,代码怎样写?
4个回答
展开全部
注意,不要只copy KeyPress过程进去你的代码,要关联上事件
private void Form1_Load(object sender, EventArgs e)
{
this.KeyPreview = true;
}
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Escape)
{
this.Close();
}
}
展开全部
不知道你写的是什么程序,但是我告诉你esc键的键值是27,判断下KeyPressEventArgs事件按的是不是27,如果是则退出程序就行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有退出,循环继续执行是因为if判断中的代码没有被执行。
console.writeline("\n继续运算吗(按esc键退出)?");
consolekey
exitkey
=
new
consolekey();
exitkey
=
console.readkey().key
;
if
(exitkey
==
consolekey.escape)
{
tobecontinue
=
false;
environment.exit(0);
}
试试看能不能运行吧
console.writeline("\n继续运算吗(按esc键退出)?");
consolekey
exitkey
=
new
consolekey();
exitkey
=
console.readkey().key
;
if
(exitkey
==
consolekey.escape)
{
tobecontinue
=
false;
environment.exit(0);
}
试试看能不能运行吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//重写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;
}
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;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询