如何获得面板内的鼠标点击坐标? 例如,我希望能够将像素放在我用鼠标单击的地方。我可以处理绘图部分,但是我不知道如何让我的程序监听该点击事件,以及如何获取它的x/y坐标,以便它可以在正确的位置绘制。如何获取面板内点击事件的坐标?
我从来没有见过类似的一段代码,我无法找到谷歌的相关信息,所以我不能显示任何代码“我是如何实现这一目标的”,因为我根本没有:/我没有线索如何开始。我可能在搜索错误的关键字,但我确信它可以完成。
编辑:谢谢大家
如何获得面板内的鼠标点击坐标? 例如,我希望能够将像素放在我用鼠标单击的地方。我可以处理绘图部分,但是我不知道如何让我的程序监听该点击事件,以及如何获取它的x/y坐标,以便它可以在正确的位置绘制。如何获取面板内点击事件的坐标?
我从来没有见过类似的一段代码,我无法找到谷歌的相关信息,所以我不能显示任何代码“我是如何实现这一目标的”,因为我根本没有:/我没有线索如何开始。我可能在搜索错误的关键字,但我确信它可以完成。
编辑:谢谢大家
Here是你的问题一个完整的提示,用代码。对于面板,您可以使用mouseDown
事件。从事件论证中,你可以得到这些线索。
private: System::Void panel1_MouseDown(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
{
int x= e->X;
int y= e->y;
}
Click事件不是正确的选择。它可以由鼠标和键盘生成,因此它不会传递鼠标位置。例如,按下空格键可以点击按钮。这当然不会发生一个小组。只需使用MouseUp事件。检查传递的e-> Button属性。
面板不是btw的好选择。它不是双缓冲的,所以当绘图变得复杂时它很可能开始闪烁。当尺寸改变时它不能正确重绘。 PictureBox没有这些问题。只要将它当作面板对待,实施其Paint事件并且不要设置Image属性。