this.KeyPreview = true;
this.MouseWheel += new MouseEventHandler(Form1_MouseWheel);
this.KeyPreview = true是要让窗体优先响应按键事件。
void Form1_MouseWheel(object sender, MouseEventArgs e)
{
if (e.Delta > 0)
{
ShowPrevPicture();
}
else
{
ShowNextPicture();
}
}
我这里是让鼠标滚轮往下滚时显示下一张图,往上滚时显示上一张。
按键事件的话需要重载ProcessDialogKey函数
protected override bool ProcessDialogKey(Keys keyData)
{
switch (keyData)
{
case Keys.Left:
case Keys.Up:
ShowPrevPicture();
return true;
case Keys.Right:
case Keys.Down:
case Keys.Enter:
ShowNextPicture();
return true;
case Keys.Delete:
DeleteCurrentPicutreFromHardDisk();
return true;
case Keys.Subtract:
DownImageLevel(PictureList.ElementAt(curIndex));
DeleteCurrentPicutureFromShowList();
return true;
case Keys.Add:
case Keys.Insert:
UpImageLevel(PictureList.ElementAt(curIndex));
DeleteCurrentPicutureFromShowList();
return true;
}
return false;
}