Проверка существования аналогичной формы - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день, пишу приложение наподобие ICQ , есть главная форма Form1 где есть ListBox с контактами. По клику на лист бокс открывается новая форма с чатом Form2, в зависимости от выбранного в listBox в форму передаются данные о пользователе, это чтобы вести несколько чатов с разными людьми. Код порождающий новые окна
 
        private void listBox1_DoubleClick(object sender, EventArgs e)
        {
            String a = this.listBox1.SelectedItem.ToString();
            Form f2 = new Form2(a);
            f2.Show();
        }
Так вот, при клике на listBox Form2 создается повторно, а это не правильно. Есть ли возможность проверить нет ли уже такой созданной формы именно с такими характеристиками (например с полем Text) ? Т.е. нужно проверить не то что существует форма Form2, а что она не существует именно с определенным параметром. Я так понимаю надо копать в сторону Application.OpenForms , но как из него получить список уже существующих форм не понятно.

Решение задачи: «Проверка существования аналогичной формы»

textual
Листинг программы
Form f2;
private void listBox1_DoubleClick(object sender, EventArgs e)
{
    String a = this.listBox1.SelectedItem.ToString();
    if (f2 != null)
        f2.Close();
    f2 = new Form2(a);
    f2.Show();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5