c# - 网格控制

标签 c# .net .net-3.5 controls

我的任务是创建一个控件,该控件具有允许拖放图像的热点。这些位置将根据拖到控件上的内容而改变。将图像放到控件上后,它需要能够移动到新位置(通过拖放或使用箭头键)。

我能想到的与此功能最接近的示例是 Microsoft Windows 桌面。当你在它周围拖动一个图标时,你可以将它放在任何地方(捕捉到最近的允许热点)我使用的是 .net 3.5,使用 C#。

我正在寻找开始制作此控件原型(prototype)的想法。

继承自的最佳 Winform 控件是什么,还是从头开始自定义控件是唯一的选择?

最佳答案

我相当确定您必须实现自己的控制,假设第三方解决方案尚不存在。至于你的逻辑应该如何去,你需要实现的只是碰撞检测。我无法具体告诉您这将如何在您的应用程序中工作,因为这将取决于几个变量(热点是否固定大小?它们是否以对称网格模式布置,等等)。如果它们都以对称模式布置,您应该能够使用数学函数将给定的 X、Y 对变成特定的热点。如果它们具有不同的大小和布局,那么您可能必须搜索您的热点矩形集合(或至少该集合的一个子集)以找到包含您的点的矩形。

关于c# - 网格控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/744387/

相关文章:

c# - 如何区分usb转串口转换器?

c# - 微服务架构中的 Saga Orchestration 可扩展性问题

c# - 从销售数据文件计算平均值?

c# - 转义sql中的特殊字符,c#

c# - 关闭 FileStream 会关闭 StreamReader 吗?

.net - VB6 应用程序调用 .NET DLL OutOfMemory 异常

c# - 通过 .NET 将参数传递给 XSLT 样式表

c# - “操作无法完成,因为 DbContext 已被释放。”

c# - 如何在每个请求的基础上跟踪 ASP.NET

.net-3.5 - .Net 3.5 中的 Windows 服务开发