[英]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.