如何在 ArcMap 控件中捕获 OnMouseDown 事件?
我在 ArcMap 中有一个控件,我在其中创建了按钮、列表框和其他一些按钮。我想将坐标项添加到列表框中。
场景:
- 用户单击控件上的“添加坐标”按钮。
- 然后用户点击地图添加坐标,找到地图上的坐标。
- 坐标被添加到列表框中。
完成后,我将对列表框坐标进行一些分析...我只需要捕获多个坐标。因此,我需要找到一个 OnMouseDown 事件,我可以将其附加到类似的东西上。
不过,这一切都是在控件中构建的,因此我需要在此控件上放置按钮,而不是在工具栏中。
谢谢大家!
I have a Control in ArcMap in which I created with buttons, A Listbox and some more buttons. I want to add coordinate items to the list box.
Scenario:
- A user clicks a Add a Coordinate button on the control.
- The user then clicks on the map to add the coordinate find the coordinate on the map.
- The coordinate gets added to the list box.
After I am done, I will run some analysis on the list box coordinates... I just need to capture more than one coordinate. So I need to find an OnMouseDown event that I can either attach onto of something along those lines.
This is all being built in a control though, so I need to have the button on this control and NOT in a toolbar.
Thanks All!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我会编写一个继承自 BaseTool 的类。拥有按钮单击事件,创建该类的新实例,并将对表单(或控件)的引用作为构造函数参数传递。将 IApplication.CurrentTool 设置为此新实例。
重写 MouseDown 并调用窗体(或控件)公开的 AddPoint(IPoint) 方法。实现 AddPoint 以便它填充列表框。
I'd write a class that inherits from BaseTool. Have the button click event, create a new instance of the class, passing a reference to the form (or control) as a constructor arg. Set IApplication.CurrentTool to this new instance.
Override the MouseDown and call the AddPoint(IPoint) method exposed by your form (or control). Implement AddPoint so that it populates the list box.