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