簡體   English   中英

彼此傳遞值的列表框

[英]listboxes passing values from each other

我正在嘗試將2個列表框的值相乘,並使它們的乘積出現在另一個列表框中。我得到了所需的結果,但是問題是當我使用命令按鈕重新運行循環時,列表​​框刪除了下一個實例由ppc [i] * qty [i]計算的第一個值,但是當我嘗試刪除listBox4.Items.Remove(ppc [i] * qty [i])時,它將重新打印整個數組,從第一個元素到最后一個元素

string myString = textBox1.Text.ToString();
        int index = listBox6.FindString(myString, -1);
        int[] qty = new int[99];
        int[] ppc = new int[99];
        int[] gt1 = new int[99];

        listBox3.Items.Add(listBox5.Items[index]);
        listBox1.Items.Add(textBox2.Text.ToString());
        if (index != -1)
        {
            listBox6.SetSelected(index, true);
            listBox2.Items.Add(textBox1.Text); //name
        }

        listBox3.Items.Add(listBox5.Items[index]);
        listBox3.Items.Remove(listBox5.Items[index]);

        for (int i = 0; i != listBox2.Items.Count ; i++)
        {
            ppc[i] = Convert.ToInt32(listBox3.Items[i]);
            qty[i] = Convert.ToInt32(listBox1.Items[i]);
            listBox4.Items.Remove(ppc[i] * qty[i]);
            listBox4.Items.Add((ppc[i] * qty[i]));
        }

我的理解是,此循環僅工作一次,然后在重新運行時會出現故障。 您確定每次執行此循環時都清除listbox4嗎? 另外,由於未使用listBox2,所以最好不要將其用於循環邊界。

if(listBox1.Items.Count == listBox3.Items.Count)
{

     int rowCount = listBox1.Items.Count;
     listBox4.Items.Clear();

     for (int i=0; i < rowCount; i++)
     {
            ppc[i] = Convert.ToInt32(listBox3.Items[i]);
            qty[i] = Convert.ToInt32(listBox1.Items[i]);
            listBox4.Items.Insert(i , (ppc[i] * qty[i]));
     } 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM