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; }
转载于:https://blog.51cto.com/wzwyc/1587280