c# - 如何获取Panel中点击事件的坐标?

标签 c# c++ visual-studio visual-studio-2010 c++-cli

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

我从未见过类似的代码,我无法通过谷歌找到相关信息,所以我无法显示任何代码“我是如何尝试实现的”,因为我根本没有:/我不知道如何开始。我可能搜索了错误的关键字,但我确信可以做到。

编辑:谢谢大家

最佳答案

Click 事件不是正确的选择。它可以由鼠标和键盘生成,因此它不会超过鼠标位置。例如,可以通过按空格键来单击按钮。这当然不会发生在面板上。只需使用 MouseUp 事件即可。检查传递的 e->Button 属性。

顺便说一句,面板也不是好的选择。它不是双缓冲的,因此当绘图变得复杂时它可能会开始闪烁。当尺寸改变时,它不会正确重绘。 PictureBox 没有这些问题。就像面板一样对待它,实现它的 Paint 事件并且不设置 Image 属性。

关于c# - 如何获取Panel中点击事件的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8534650/

相关文章:

visual-studio - flutter 命令不会从终端执行,需要很长时间

c++ - 优化此递归函数[Boggle解析器]

visual-studio - 如何使用 docker-compose 启动 CosmosDB 模拟器?

c# - 防止一次运行多个计划任务/一次只运行一个(在其他运行时暂停)

c# - 尝试在接口(interface)上使用 foreach 时出现 NullReferenceException

c++ - 分配不同大小的 std::array

c++ - 你能把库放在命名空间里吗?

.net - 是否应该使用 Visual Studio GUI 编辑器?

c# - WPF:带有图标 View 的 ListView?

c# - 渐进光标移动算法 - Kinect SDK