@CliverQwerty

C# Windows Forms. Передача данных между формами, как?

Есть две формы, первая форма это текстовый редактор, а вторая это ее дочерняя форма где отображается поиск заданных слов в текстовом редакторе. Поиск смог сделать на одной форме, сказали сделать на разных, не могу, столько форумов перелазил ничего не работает.
вот код если делать все в одной форме:
string find = textBox2.Text;
            if (richTextBox1.Text.Contains(find))
            {
                int i = 0;
                while (i <= richTextBox1.Text.Length - find.Length)
                {
                    i = richTextBox1.Text.IndexOf(find, i);
                    if (i < 0) break;
                    richTextBox1.SelectionStart = i;
                    richTextBox1.SelectionLength = find.Length;
                    richTextBox1.SelectionColor = Color.Blue;
                    i += find.Length;
                }
            }
            else
            {
                // Окно сообщения будет отображаться, если введенное слово не найдено
                MessageBox.Show("Не найдено ни одного соответствия результатов");
            }
  • Вопрос задан
  • 3963 просмотра
Пригласить эксперта
Ответы на вопрос 1
vvovas
@vvovas
Судя по всему вам нужно сделать следующее:
//событие для открытия новой формы
private void searchButton_click(object sender, EventArgs args){

using(var searchForm = new SearchForm()){

//передаем все что нужно на новую форму
searchForm.Text = richTextBox1.Text;

//показываем форму
searchForm.ShowDialog();

}

}


Ну и ваша новая форма должна иметь публичное свойство Text:
public class SearchForm : Form{
public string Text {get;set;}
...
}


Если же нужно получить данные с дочерней формы, то опять добавляем публичное свойство, с которым будем работать и используем его после ShowDialog()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы