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

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 WindowsFormsApplication2
{
public partial class Form1 : Form
{

    int deltX = 10;
    int deltY = 8;
    public Form1()
    {
        this.KeyPreview = true;
        InitializeComponent();
    }


    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();
    }

    private void label1_Click_1(object sender, EventArgs e)
    {

    }
}

}

Form1_KeyDown有没有关联给窗体的keydown事件,窗体的keypreview属性是否设置为true

确定一下你的keydown事件有没有关联 我这样是可以的啊
public partial class Form2 : Form
{
int deltX = 10;
int deltY = 8;
public Form2()
{
this.KeyPreview = true;
InitializeComponent();
timer1.Tick += timer1_Tick;
this.KeyDown += Form1_KeyDown;
}

    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();
    }

    private void label1_Click_1(object sender, EventArgs e)
    {

    }
}

楼上说的有道理,但是你要注意就是你的Form在运行的过程中是不是有其他的程序占用了你程序的焦点,如果你的程序没有处于激活状态或者被类似于流氓软件占用了焦点,那你的Key_Down事件自然无法在你的Form窗体内触发,这种情况可以使用键盘钩子,可以突破Form层面的监视操作系统的相关操作

keydown,是一个动词,事件必须关联你写的词,form1中keypreview,是确定窗体keydown是否注册,没有注册就不能运行,所以必须为true