小编Nat*_*ley的帖子

如何创建自定义集合编辑器表单以与属性网格一起使用?

我试图将属性网格控件与一个类相结合,该类具有另一个类的列表/集合作为其中一个属性.让我们称它们为A类,列表将包含B类以供参考.

我想要合并一个有两个列表框的表单.左侧的列表框将包含我的程序中当前不在右侧列表中的所有B类的列表.右边的列表将包含当前与A类关联的所有B类.我希望两者之间的按钮在两个列表之间移动项目.

这很容易设计,但我不确定如何设置表单以用作集合编辑器.

谁能指出我正确的方向?

而且,我如何设置一个包含可供选择的ID列表的属性的下拉列表,如果有人可以指出我的方向来完成这个.

.net c# propertygrid collectioneditor

8
推荐指数
1
解决办法
8268
查看次数

C#按顺序排列X,Y坐标列表

我使用的是.NET 2.0,因此我无法访问漂亮的Linq; 但是,我编写了一些代码,用于顺时针/逆时针对点列表进行排序.

我的问题是,如果列表尚未排序,排序工作完全正常,但如果由于某种原因列表已经排序,则排序函数会失败.

如果有人可以帮我指出正确的方向,为什么这可能是原因,我就在徘徊.

这是我对这种类型的调用:

positions.Sort(new Comparison<Position>(MapUtils.SortCornersClockwise));
Run Code Online (Sandbox Code Playgroud)

这是SortCornersClockwise函数:

public static int SortCornersClockwise( Position A, Position B)
    {
        //  Variables to Store the atans
        double aTanA, aTanB;

        //  Reference Point
        Pixels reference = Program.main.reference;

        //  Fetch the atans
        aTanA = Math.Atan2(A.Pixel.Y - reference.Y, A.Pixel.X - reference.X);
        aTanB = Math.Atan2(B.Pixel.Y - reference.Y, B.Pixel.X - reference.X);

        //  Determine next point in Clockwise rotation
        if (aTanA < aTanB) return -1;
        else if (aTanB > aTanA) return 1;
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

我的参考位置是我确定点列表中每个点的相应角度的点.

现在说我有一个点列表:

15778066, …
Run Code Online (Sandbox Code Playgroud)

c# sorting coordinates

2
推荐指数
1
解决办法
5555
查看次数

标签 统计

c# ×2

.net ×1

collectioneditor ×1

coordinates ×1

propertygrid ×1

sorting ×1