1

チェックボックスがリストボックスに追加されないように制限する方法を知りたいです。ユーザーがチェックボックスをオンにすると、「アンチョビ」がリストボックスに追加されます。ユーザーがチェックボックスの選択を解除して再度選択すると、「アンチョビ」がリストボックスに再び追加されます(2つの「アンチョビ」が表示されます)。

private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {           
                if (checkBox1.Checked)
                 {
                     listBox1.Items.Add("Anchovies");
                     double total = Convert.ToDouble(textBox2.Text);
                     total = total + .5;
                     textBox2.Text = Convert.ToString(total);
                }            
        }
4

3 に答える 3

3

重要なのは、アイテムAnchoviesに既に存在するかどうかを確認することです。listBox1

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{           
        if (checkBox1.Checked)
         {
             //If the item is already there, we don't do anything.
             if (!listBox1.Items.Contains("Anchovies")) {
                 listBox1.Items.Add("Anchovies");
                 double total = Convert.ToDouble(textBox2.Text);
                 total = total + .5;
                 textBox2.Text = Convert.ToString(total);
             }
        }            
}
于 2013-02-26T07:46:23.673 に答える
3

こうすれば

if (checkBox1.Checked)
             {
                 if(!listBox1.Items.Contains("Anchovies"))
                     listBox1.Items.Add("Anchovies");
                 double total = Convert.ToDouble(textBox2.Text);
                 total = total + .5;
                 textBox2.Text = Convert.ToString(total);
            }      
于 2013-02-26T07:46:44.893 に答える
0

この問題を解決するには、値を挿入する前に、リスト ボックスを確認する必要があります (この値については、既に存在するかどうか)。

例えば

foreach (var item in listBox1.Items )
{
  if(item.ToString() != "Anchovies")
  {
    listBox1.Items.Add("Anchovies");
  }
  // other code here.
}
于 2013-02-26T07:50:21.327 に答える