Перебрать коллекцию ComboBox

Тема в разделе "LANGS.C", создана пользователем Admiral, 8 ноя 2008.

  1. Admiral

    Admiral New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    6
    Подскажите по проблеме.
    Во время заполнения таблицы заношу в ComboBox значения ( comboBox1.Items.Add(textBox3.Text);)
    Возникла проблема-заносятся одинаковые значения.Как перебрать все уже имеющиеся элементы ComboBox,чтобы не добавлять одинаковые?
    Спасибо большое!
     
  2. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    Admiral
    Можно не перебирать элементы. Перед добавлением очередной строки можно спросить combobox есть ли у него такая.
    Код (Text):
    1. ' Visual Basic
    2. If comboBox1.FindString(textBox3.Text) = -1 Then
    3.   comboBox1.Items.Add(textBox3.Text)
    4. End If
    5.  
    6. /// C#
    7. if (comboBox1.FindString(textBox3.Text) == -1)
    8.    comboBox1.Items.Add(textBox3.Text);
    9.  
    10. // Delphi
    11. if comboBox1.Items.IndexOf(textBox3.Text) = -1 then
    12.    comboBox1.Items.Add(textBox3.Text);
    13.  
    14. // CBuilder
    15. if (comboBox1->Items->IndexOf(textBox3->Text) == -1)
    16.    comboBox1->Items->Add(textBox3->Text);
    17.  
    18. // C++ MFC/ATL
    19. if (comboBox1->FindString(textBox3->Text) == -1)
    20.    comboBox1->Items->Add(textBox3->Text);
    21.  
    22. /* С */
    23. if (CB_ERR == SendMessage(hwndCB, (UINT)CB_FINDSTRING, (WPARAM)-1, (LPARAM)pszText))
    24.    SendMessage(hwndCB, CB_ADDSTRING, 0, (LPARAM)pszText);
    25.  
    26. ;; asm
    27. invoke  SendMessage, hwndCB, CB_FINDSTRING, -1, pszText
    28. cmp eax,CB_ERR
    29. jnz short @F
    30. invoke  SendMessage, hwndCB, CB_ADDSTRING, 0, pszText
    31. @@:
     
  3. Admiral

    Admiral New Member

    Публикаций:
    0
    Регистрация:
    10 окт 2008
    Сообщения:
    6
    Спасибо большое!