2011-12-16 73 views
0

如何获得面板内的鼠标点击坐标? 例如,我希望能够将像素放在我用鼠标单击的地方。我可以处理绘图部分,但是我不知道如何让我的程序监听该点击事件,以及如何获取它的x/y坐标,以便它可以在正确的位置绘制。如何获取面板内点击事件的坐标?

我从来没有见过类似的一段代码,我无法找到谷歌的相关信息,所以我不能显示任何代码“我是如何实现这一目标的”,因为我根本没有:/我没有线索如何开始。我可能在搜索错误的关键字,但我确信它可以完成。

编辑:谢谢大家

回答

2

Here是你的问题一个完整的提示,用代码。对于面板,您可以使用mouseDown事件。从事件论证中,你可以得到这些线索。

1
private: System::Void panel1_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) 
{  
    int x= e->X; 
    int y= e->y; 
} 
4

Click事件不是正确的选择。它可以由鼠标和键盘生成,因此它不会传递鼠标位置。例如,按下空格键可以点击按钮。这当然不会发生一个小组。只需使用MouseUp事件。检查传递的e-> Button属性。

面板不是btw的好选择。它不是双缓冲的,所以当绘图变得复杂时它很可能开始闪烁。当尺寸改变时它不能正确重绘。 PictureBox没有这些问题。只要将它当作面板对待,实施其Paint事件并且不要设置Image属性。