2

リストボックスに問題があります。
テキストボックスと、データをリストボックスに配置する追加ボタンがある場合。
誤って同じ名前を2回入力しました。
リストボックスの重複を防ぐにはどうすればよいですか?
ボタンセクションまたはリストボックスの下にコードを入力しますか?

4

4 に答える 4

3

追加する前に、たとえばLinqを使用して、すでに存在するかどうかを簡単に確認できます。

bool contains = lbName.Items.Cast<ListItem>()
    .Any(li => li.Text.Equals(txtName.Text, StringComparison.OrdinalIgnoreCase));
if(!contains)
{
    lbName.Items.Add(new ListItem(txtName.Text));
}

大文字と小文字を区別せずに比較したいとします。

編集実際には完全なファイルパスをに追加しListBoxたいが、同じファイル名の2番目のファイルが追加されないようにしたいので、次のPathクラスを使用できます。

string fullFilePath = .... 
string fileName = Path.GetFileName(fullFilePath);
bool contains = lbName.Items.Cast<ListItem>()
    .Any(li => Path.GetFileName(li.Text).Equals(fileName, StringComparison.OrdinalIgnoreCase));
if (!contains)
{
    lbName.Items.Add(new ListItem(fullFilePath));
}
于 2013-02-28T11:09:03.343 に答える
1

ボタンをクリックすると、次のようになります。

  if (this.listBox.Items.Contains(this.txtCustomerName.Text) == false)
  {
     this.listBox.Items.Add(this.txtCustomerName.Text);
  }

または、ListItemsを使用している場合:

ListItem item = new ListItem(this.txtCustomerName.Text);

if (listBox.Items.Contains(item) == false)
{
   listBox.Items.Add(item);
}
于 2013-02-28T11:07:32.853 に答える
0

ボタンにコードを追加します。入力したテキストが正しいことをライブでチェックするtextBoxのイベントにコードを追加することもできます。

于 2013-02-28T11:07:53.990 に答える