0

私はリストボックスのこのイベントコードを持っています:

I tried ot do it this way and it's almost working good.


private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
        {




            if (recentItems.Contains(listBox1.SelectedItem))
            {
                itemExist = true;
                item = listBox1.SelectedItem.ToString();
                this.f1.PlayLightnings();
                f1.pdftoolsmenu();
            }
            else
            {
                itemExist = false;
                item = listBox1.SelectedItem.ToString();
                recentItems.Add(listBox1.SelectedItem.ToString());
                this.f1.PlayLightnings();
                f1.pdftoolsmenu();
            }


        } 

私は新しいbool変数itemExistを使用してチェックし、リストrecentItemsにselectedItemが含まれていない場合はそれを追加します。

存在する場合は、フラグを true に設定します。

次に、Form1 im の他のコードで次のことを行っています。

if (Lightnings_Extractor.Lightnings_Mode.itemExist == true)
                {
                    if (!pdf1.Lightnings.Contains(Lightnings_Extractor.Lightnings_Mode.item))
                    {
                        pdf1.Lightnings.Add(Lightnings_Extractor.Lightnings_Mode.item);
                    }
                } 

だから、私が望んでいたように動作していますが、問題は、リストボックスで選択した新しいアイテムごとにクリックすることです。 2 回目のクリックで、フラグが true に変更されます。

SelectedIndexChanged イベントでこの問題を解決するにはどうすればよいですか?

4

1 に答える 1

0

Form1 のコード部分は必要ないことがわかりました。このコードのみです。

private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            item = listBox1.SelectedItem.ToString();
            this.f1.PlayLightnings();
            f1.pdftoolsmenu();
            if (item != null && !pdf1.Lightnings.Contains(item.ToString()))
            {
                pdf1.Lightnings.Add(item.ToString());             
            }
        }
于 2012-12-28T00:42:43.060 に答える