实现单击左右光标实现图片的上一幅和下一副的功能
给位:
我在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);
}