如何使用PictureBox在C#中创建HotSpot?

时间:2012-07-04 10:08:56

标签: c#

我是一名新的C#开发人员,我想在我放入winform应用程序的图像中创建一个热点。我按照HERE发布的解决方案,但我不知道应该在哪里设置坐标以使此方法有效:

protected override void OnMouseMove(MouseEventArgs mouseEvent) 
{ 
     string X = mouseEvent.X.ToString();
     string Y = mouseEvent.Y.ToString(); 
}

我应该把坐标放在哪里?我有两个坐标(X,Y):110,45

1 个答案:

答案 0 :(得分:2)

热点我觉得应该是一个小的矩形区域,而不仅仅是一个坐标。假设您希望它是宽度为20的小方块区域,那么您可以编写如下内容:

编辑:

假设您的表单上有一个名为PictureBox1的PictureBox,并且您希望从图片框的左上角开始的一个20x20大小的小矩形成为热点(即当您将鼠标移到它上面时,您会看到一个HAND游标)然后在PictureBox的MouSeMove事件中写下这个:

 private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
    {
        if (e.X > 0 && e.X < 20 && e.Y > 0 && e.Y < 20)
            this.Cursor = Cursors.Hand;
        else
            this.Cursor = Cursors.Default;
    }

请记住,我们只是展示手形光标来表示我们还没有处理点击的热点,因为它确实是一个网络类热点。如果你想在Click上做一些事情,尝试使用MouseUp事件,在MouseUp事件中,上面相同的IF子句将为你提供用户点击热点区域的条件。