-1

2つのリストボックスを必要とするC#のアプリがありますが、それらのコンテンツはいくつかのチェックボックスの状態に従って入力されます。チェックボックスがオンになっているときにリストボックスにコンテンツを追加する方法はすでに理解していますが、同じチェックボックスがオフになっている場合は、アプリで同じコンテンツを削除する必要があります。

注:リストボックスはチェックされたリストボックスではありません...それは単なるリストボックスです。私は(間違った場所で、私は推測する...)探すことに多くの時間を費やしました、そして私はここで私の特定の問題のために何も見つけることができません...

私が持っている関数は次のようになります:

private void cbCheckbox_CheckedChanged(object sender, EventArgs e)
        {
                if (cbCheckbox.Checked)  
                {
                    testlist.Add("Elemento1");
                    testlist.Add("Elemento2");
                    testlist.Add("Elemento3");
                    ltTestPool.DataSource = testlist;
                }

                else
                {                  
                    testlist.Add("Elemento1");
                    testlist.Add("Elemento2");
                    testlist.Add("Elemento3");
                    ltTestPool.DataSource = testlist;
                }
        }
4

2 に答える 2

1

このコードを試してください:

private void cbCheckbox_CheckedChanged(object sender, EventArgs e)
        {
                if (cbCheckbox.Checked)  
                {
                    testlist.Items.Clear();
                    testlist.Items.Add("Elemento1");
                    testlist.Items.Add("Elemento2");
                    testlist.Items.Add("Elemento3");
                    ltTestPool.DataSource = testlist;
                }

                else
                {                  
                    testlist.Items.Clear();
                    ltTestPool.DataSource = testlist;
                }
        }
于 2013-02-20T19:42:56.633 に答える
0

データソースとして設定する前にリストをクリアすると役立つはずです。

private void cbCheckbox_CheckedChanged(object sender, EventArgs e)
            {
                    if (cbCheckbox.Checked)  
                    {   
                        testlist.Clear();
                        ltTestPool.DataSource = null;
                        testlist.Add("Elemento1");
                        testlist.Add("Elemento2");
                        testlist.Add("Elemento3");
                        ltTestPool.DataSource = testlist;
                    }

                    else
                    {   testlist.Clear();  
                        ltTestPool.DataSource =null;            
                        testlist.Add("Elemento1");
                        testlist.Add("Elemento2");
                        testlist.Add("Elemento3");
                        ltTestPool.DataSource = testlist;
                    }


}
于 2013-02-20T19:12:18.063 に答える