如何在两点索引之间添加连接?

时间:2012-03-27 22:40:10

标签: c#

我有这个按钮点击事件和一个addConnection函数:

private void button2_Click(object sender, EventArgs e)
{
    addConnection(cyclicSelectedIndex[0], cyclicSelectedIndex[1]);
}

private void addConnection(int i, int j)
{
    if (connectionStart.Count == 0)
    {
        connectionStart.Add(i);
        connectionEnd.Add(j);
    }

    for (int f = 0; f < connectionStart.Count; f++)
    {
        if (connectionStart[f] == i && connectionEnd[f] == j || connectionStart[f] == j && connectionEnd[f] == i)
        {
        }
        else
        {
            connectionStart.Add(i);
            connectionEnd.Add(j);
        }

    }
}

在单击按钮中,我插入了两个索引的int变量ij

然后在addConnection函数中,我正在使用另外两个列表。

首先我检查List是否为空== 0然后将两个索引添加到开始列表和结束列表。

然后我检查For循环,如果connectionStart和/或connectEnd列表中已存在两个索引。

如果它们不存在,我将添加它们,这是在ELSE中。

到目前为止的问题是,当我在ELSE区域放置一个断点时,我将两个indees添加到列表中。

第一次向每个列表添加一个索引。但是如果我再用另一个点点击该点并单击按钮,那么我在两个列表中都会看到它在每个列表中添加了8次当前索引。然后我选择另外两个点,现在单击按钮16然后是32。

我不明白为什么。

我想点击我点击的最后两点,当我点击按钮连接它们并调用该功能时。

它将检查列表START和END中是否已存在这两个按钮连接,如果没有将此连接添加到列表中。

因此,在START连接中,我将在索引0中为数字5,在索引0中的END列表中为数字7

然后在START中的索引1中编号为9,在索引1中的END中编号为10

我知道在列表5和7中的索引0是两个必须与一条线连接的点。等等9和10。

两个问题:

  1. 确定添加代替=正在运行。但由于某些原因点击了两点后,如果我连续几次点击按钮2,它会将相同的最后两点索引添加到列表START和END。我确信我检查IF是否要检查START和END列表中是否已经存在此点连接,所以不要再添加它们。这是为什么 ?我的

    if(connectionStart [f] == i&amp;&amp; connectionEnd [f] == j || connectionStart [f] == j&amp;&amp; connectionEnd [f] == i)不是很好的检查?

  2. 现在另一个问题我添加了几个像10的点。然后点击按钮2连接每两个点。我点击一个点然后点击另一个点并将点索引添加到循环List:cyclicSelectedIndex然后在button2中单击我使用addConnection函数获取每次点击的最后两个点的两个索引。但我用断点检查,我看到在列表START和END中有一些一个接一个的点索引。就像在列表START中我在索引4,5,6,7中看到的那样我看到0,0,0,0我不知道hwy它发生了

0 个答案:

没有答案