我的 Windows 窗体中有 PictureBox。当我单击图片的某些部分时,需要更改一些标签文本。有什么方法可以知道它是否在图像的某些部分被点击?我没有给出任何代码,因为我认为您可以理解我的问题。
问问题
996 次
3 回答
0
我想你有rect
一些Rectangle
初始化,它的坐标是相对于你的PictureBox
:
private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
{
if(rect.Contains(e.Location)){
//your code here
}
}
于 2013-06-16T15:50:49.357 回答
0
您应该为您的图像创建映射,如下所示:
Rectangle rect1 = new Rectangle(/*coordinates of part of image*/);
OnClick(object sender, MouseEventArgs e)
{
if (rect1.Contains(e.Location))
{
//handler for this part
}
}
于 2013-06-16T15:52:29.433 回答
0
创建Rectangle
您想要交互的包含区域的列表。
让我们说:
private static List<Rectangle> rects
;
以某种顺序用所需的坐标填充它。
然后在 OnClick 事件中
OnClick(object sender, MouseEventArgs e)
{
for(int i=0; i<rects.Count; i++)
if (r.Contains(e.Location))
ActionForArea(i);
}
还
private static void ActionForArea(int number)
{
//do sth
}
于 2013-06-16T16:04:59.750 回答