我正在尝试创建一些自定义按钮或用户控件,如建议的GUI中所示.功能应如下:
图形或配置以图形方式创建.
可以从工具栏拖动控件,也可以通过鼠标右键单击/下拉菜单插入控件
通过从一个控件拖动到另一个控件,它们应该通过线连接
切换应该将视图从带有选项的控件移动到简单视图
GUI视图 - 带选项的控件:

GUI视图 - 最小化:

我可以使用Windows窗体中的哪些功能来创建连接线?
如果它们是通过使用绘制线条的功能创建的,那么如何确保控件对齐线?..
我使用Visual Studio 2010 Express在C#中编程.
在C#中,我试图通过随机索引从列表中获取项目.检索完后,我希望将其删除,以便不再选择它.好像我需要很多操作才能做到这一点,是不是我可以从列表中简单地提取项目?RemoveAt(index)函数为void.我想要一个具有返回值的人.
我在做什么:
List<int> numLst = new List<int>();
numLst.Add(1);
numLst.Add(2);
do
{
int index = rand.Next(numLst.Count);
int extracted = numLst[index];
// do something with extracted value...
numLst.removeAt(index);
}
while(numLst.Count > 0);
Run Code Online (Sandbox Code Playgroud)
我想做什么:
List<int> numLst = new List<int>();
numLst.Add(1);
numLst.Add(2);
do
{
int extracted = numLst.removeAndGetItem(rand.Next(numLst.Count));
// do something with this value...
}
while(numLst.Count > 0);
Run Code Online (Sandbox Code Playgroud)
这样的"removeAndGetItem"函数是否存在?
我是一名建筑系学生,试图用蚱蜢中的C#解决C#的空间问题.
我想要创造的空间是机场的展览空间.空间将由相似长度的元素组成.我们的想法是将它们与铰链连接,从而允许它们根据使用的元素数量创建不同布局和大小的空间.

从图中可以看出,我希望空间以一个远离起点的开口元素长度结束.
我的第一次尝试是根据所需的段(墙)数量创建等边三角形.简而言之,从起点开始,创建三角形,然后将形成外边框的三角形边添加到点列表中.此点列表将返回到Grasshopper应用程序,该应用程序在点之间绘制线条.有一点是我从最后三角形的AC侧或BC侧随机创建了下一个三角形.
以下是创建空间的示例(适用于12 - 8 - 14 - 20个元素):

以下是创建这些点列表的源代码:
private void RunScript(double radius, int walls, ref object A)
{
//
List<Point3d> pointList = new List<Point3d>();
List<Point3d> lastList = new List<Point3d>();
bool alternate = true;
bool swapped = false;
Random turn = new Random();
// set up the first part of the triangle
Point3d point1 = new Point3d(0, 0, 0);
Point3d point2 = new Point3d(0, radius, 0);
pointList.Add(point1);
pointList.Add(point2);
Point3d calcPoint;
for(int i = 0; i < walls …Run Code Online (Sandbox Code Playgroud)