实现单击左右光标实现图片的下一幅和上一副的功能
实现单击左右光标实现图片的上一幅和下一副的功能
给位:
我在picture中显示图片,想实现在picture控件里单击左右光标键时实现图片的上一幅和下一幅切换的功能。
没有找到与这功能配匹的触发事件。
若有前辈知晓这个功能的实现,恳请交流。
------解决方案--------------------
增加 pic 所在窗体的 KeyDown事件
------解决方案--------------------
给位:
我在picture中显示图片,想实现在picture控件里单击左右光标键时实现图片的上一幅和下一幅切换的功能。
没有找到与这功能配匹的触发事件。
若有前辈知晓这个功能的实现,恳请交流。
------解决方案--------------------
增加 pic 所在窗体的 KeyDown事件
------解决方案--------------------
- C# code
private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Right) { if (ImgCount == imageList1.Images.Count - 1) ImgCount = 0; else ImgCount++; } else if (e.KeyCode == Keys.Left) { if (ImgCount == 0) ImgCount = imageList1.Images.Count - 1; else ImgCount--; } pictureBox1.Image = imageList1.Images[ImgCount]; }
------解决方案--------------------
------解决方案--------------------
还好,就按我说的办法干吧。
通过pic的MouseDown()事件设置:pic.Focus();
通过重写ProcessDialogKey(),可以判断pic的焦点问题。
protected override bool ProcessDialogKey(Keys keyData)
{
if (pictureBox1.Focused)
{
switch (keyData)
{
case Keys.Left:
MessageBox.Show("这里放置左移图片的方法");
break;
case Keys.Right:
MessageBox.Show("这里放置右移图片的方法");
break;
}
// 如果焦点在pictureBox上则不调用base.ProcessDialogKey(keyData)
return true;
}
return base.ProcessDialogKey(keyData);
}