Выпадающий список ComboBox и добавление строки в список

SilverSun

Client
Регистрация
31.10.2013
Сообщения
172
Благодарностей
24
Баллы
18
Суть такова:

Выпадающий список ComboBox, подключается к списку с текстом: «Список 1». В окне ComboBox надо или выбрать строку, которая уже есть в списке: «Список 1» или же ввести новые данные. После чего, при нажатии на кнопку «ДАЛЕЕ», код должен проверить, есть ли в списке нововведенные данные или нет. Если есть, то эти данные надо положить в переменную, если нет, то нужно положить новые данные в список и в туже переменную.

Код, который ниже, (из-за того, что я немного криворукий) при нажатии на кнопку «ДАЛЕЕ», добавляет новые данные в конец списка, но не проверяет на наличие совпадений. Помогите, пожалуйста, подправьте код, что бы всё работало как надо.


C#:
System.Windows.Forms.Form Forma = new System.Windows.Forms.Form();
//Имя формы
Forma.Text = "Имя";
//Создать выпадающий список ComboBox из списка
System.Windows.Forms.ComboBox comboBox = new System.Windows.Forms.ComboBox();
//указываем список, в котором лежат нужные нам значения
var list = project.Lists["Список 1"];
// второй вариант наполнения
comboBox.Items.AddRange(list.ToArray());
comboBox.Location = new System.Drawing.Point(5, 60);
comboBox.Size = new System.Drawing.Size(255, 23);
comboBox.Text="Выбрать text";
Forma.Controls.Add(comboBox);
//Создать кнопку Далее
System.Windows.Forms.Button button1 = new System.Windows.Forms.Button();
button1.Text = "ДАЛЕЕ";
button1.Location = new System.Drawing.Point(50, 150);
button1.Size = new System.Drawing.Size(120, 40);
Forma.Controls.Add(button1);
button1.Click+= delegate(object sender, System.EventArgs e)
{
// берем из переменной текст, который надо искать
var textContains = comboBox.Text;
// получаем список, в котором будем искать
var sourceList = project.Lists["Список 1"];
// ищем в каждой строчке в списке
lock (SyncObjects.ListSyncer)
   {
    for (int i = 0; i < sourceList.Count; i++)
        {
        // читаем строку из списка
        var str = sourceList[i];
        // проверяем содержание текста в строке
        if (str.Contains(textContains))
          {
          project.Variables["Var"].Value = comboBox.Text;
          }
        }
    }
        // если нет совпадений, добавляем строку в список
sourceList.Add(textContains);
   Forma.Dispose();
};
//Запуск формы
Forma.ShowDialog();
return 0;
ЗЫ: немного подкорректировал суть ТЗ
 
Последнее редактирование:

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)