2 fanage fanage 于 2016.04.03 17:46 提问

我用C#做了一个屏保,代码如下,为什么我运行的时候按什么键都无法退出?
c#

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 屏保
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

    private void label1_Click(object sender, EventArgs e)
    {

    }

    int deltX = 10;
    int deltY = 8;

    private void timer1_Tick(object sender, EventArgs e)
    {
        this.label1.Left += deltX;
        this.label1.Top += deltY;
        if (this.label1.Top < 0 ||
           this.label1.Top + this.label1.Height > this.Height)
            deltY = -deltY;
        if (this.label1.Left < 0 ||
            this.label1.Left + this.label1.Width > this.Width)
            deltX = -deltX;
    }
    private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
        Application.Exit();
    }
}

}

2个回答

caozhy
caozhy   Ds   Rxr 2016.04.03 18:31

窗体的keypreview设置为true

fanage
fanage 我选的是true
2 年多之前 回复
xianfajushi
xianfajushi   2016.04.03 19:39
    public Form1()
    {
        InitializeComponent();
        this.KeyPreview = true;
    }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
对话框的MFC,为什么一点回车键,程序就退出
对话框如何屏蔽回车键enter     当用户按下回车键时,Windows发送一个特殊的WM_GETDEFID消息来获得缺省的命令ID,Windows再将它作为WM_COMMAND发送。所以,你要做的就是重载WM_GETDEFID消息,在有关Windows的文档中是这样描述WM_GETDEFID返回值的:“如果有缺省得按钮,则返回值的高位字包含DC_HASDEFID,低位字包含控制的标识符。
【C#】C#winform 双击/按"F12"键全屏,按"Esc"键退出
private void Lottery_DBClick(object sender, EventArgs e)         {             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;// 设置边框为 None             this.WindowState = FormWind
IDLE在用删除键时会出现"口"字型乱码
方法一:将文件首行写为# coding=utf-8还不行的话,点击idle的options菜单,在弹出窗口的general页中,将Default source Encoding改为Utf-8方法二:可能是输入法的问题.如果用中文输入法的时候去编辑就会出现这个问题.如果切换到英文输入法再编辑的时候就不会出现这种情况了....
安卓中返回键的使用
对返回键的获取 在android应用中,通常会有按返回键(即keyCode == KeyEvent.KEYCODE_BACK)的情况,但大多情况下该应用还在任务里运行着,并不是我们想要的结果。   但我们可以这样实现,当用户点击自定义的退出按钮或返回键时,在onDestroy()里强制退出应用,或直接杀死进程,具体操作代码如下: @Override   public
当浏览器访问一个链接时计算机都做了哪些事
当往浏览器地址栏输入一串地址敲下回车键,浏览器就会给我们展示出一个可视化的页面。看似很简单的操作,但背后凝聚了多年来IT人员的辛苦耕耘。我上家公司里经常喜欢拿这个问题来当作面试题,现在我是没有这个当面试官的机会了。        一次请求大致过程包括:域名解析--> 发起TCP的3次握手 --> 建立TCP连接后发起http请求 --> 服务器响应http请求--> 浏览器得到html代码 --
C#中按下esc 键, 退出 Form
<br />C#中按下esc 键, 退出 Form<br />1.keypreview设定为true<br />2.form 的 keypress 事件输入以下代码<br />private void Form1_KeyPress(object sender, KeyPressEventArgs e)<br />{<br />    if (e.KeyChar == (char)27)<br />    {<br />       this.Close();<br />       return;<br /
MFC软件运行时按下回车或ESC闪退问题的解决
之前在写IdGenerator工程的MFC软件是就发现按下Enter键,操作界面会自动退出的问题,当时没注意,指导最近在写一个串口调试终端的界面程序时又出现了类似问题,因此写下我是怎么解决这个问题的。    之所以按下Enter\ESC会自动退出,我也是从网上查到的: http://blog.sina.com.cn/s/blog_a3e5711601011y3e.html     在一般情况下
Android 后退键onBackPressed()的使用介绍
如何在Android平台上捕获Back键的事件,Back键是手机上的后退键,一般的软件不捕获相关信息可能导致你的程序被切换到后台,而回到桌面的尴尬情况,在Android上有两种方法来获取该按钮的事件。   1.直接获取按钮按下事件,此方法兼容Android 1.0到Android 2.1 也是常规方法,直接重写Activity的onKeyDown方法即可,代码如下: @Override pu
让Win10 win+e显示我的电脑的方法
按win+e后进入文件资源管理器,点击右上角的下三角符号V,选中“查看”,点击“选项” 在“常规”页面下,选择“打开文件资源管理器时打开”--“此电脑”,点击确定。 附Win10快捷键(虚拟桌面还是挺有趣的): Win键+Tab:激活任务视图 Win键+A:激活操作中心 Win键+C:通过语音激活Cortana Win键+D:显示桌面 Win键
linux系统下ESC键失效
程序员难免要跟linux系统打交道,可能某些原因,导致ESC键坏掉,那么之前编辑的内容要付之一炬了吗,岂不是很痛心,其实未必, 用  CTRL+[  组合键,完美替代,手还不需要离开键盘,perfect!