|
|
1
3
您需要找到以下内容:
基本上,您需要这三个值中较小的一个。取两个控件的最小值来确定哪个更接近。 在加载表单时,首先迭代表单上的所有控件,然后创建下面的类集合。 要查找最接近某个点的控件,请迭代集合(参见底部的代码)。以你目前为止发现的最小距离追踪控制。如果需要,可以测试containsPoint()。如果你找到一个控制点在控制范围内,你就得到了控制点(只要你没有重叠的控制点)。否则,当您到达集合的末尾时,找到距离中心/边缘最短的控件就是您的控件。
|
|
|
2
1
|
|
|
3
0
你必须用矩形来思考:)
然后您必须知道您对哪个控件感兴趣,例如,表单是一个控件。 |
|
|
4
0
对于初学者,创建将计算从矩形边缘到某个任意点的距离的方法。此方法的签名应为:
然后,对于最简单的尝试,迭代所有控件,计算距离,记住提供它的最小距离和控件。 对于矩形距离,请检查 this 出来。 编辑: 事实上,您可以维护一个已排序的控件列表,这样您就可以始终拥有第一个更靠近顶部的控件,并在鼠标移动时维护该列表-这可能证明在速度方面更有效。有趣的问题是:) |
|
|
5
0
我同意丹尼尔的观点,我们需要: 两倍距离(矩形R,点P); 但在此之前,我们需要: 两倍距离(R线,P点); 和 两点之间的双角(点p1,点p2); |
|
|
A B · C#Excel自动调整列避免长文本时出错 9 月前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 9 月前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 9 月前 |
|
|
Duck0 · 这个对象在更高的帧率下会更快吗,因为它在Update()中? 10 月前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 10 月前 |