Как перенести информацию с формы на форму в рамках ООП C#?

В рамках программирования на C# и организации кода с использованием объектно-ориентированного подхода, есть несколько способов передачи информации между формами.

1. Через параметры конструктора:
- В классе второй формы создаем необходимые поля для хранения передаваемой информации.
- В конструкторе класса второй формы задаем параметры для этих полей.
- В первой форме, при создании объекта второй формы, передаем значения через аргументы конструктора.

Пример:

   public class SecondForm : Form
   {
       private string name;
       private int age;

       public SecondForm(string name, int age)
       {
           this.name = name;
           this.age = age;
       }
   }

Создание объекта второй формы:

   SecondForm secondForm = new SecondForm("John", 25);
   secondForm.Show();

2. Через свойства:
- В классе первой формы создаем необходимые свойства для хранения передаваемой информации.
- При создании объекта второй формы, задаем значения свойствам первой формы через объект доступа к ним.

Пример:

   public class FirstForm : Form
   {
       public string Name { get; set; }
       public int Age { get; set; }

       private void OpenSecondForm()
       {
           SecondForm secondForm = new SecondForm();
           secondForm.Name = this.Name;
           secondForm.Age = this.Age;

           secondForm.Show();
       }
   }

3. Статические поля/свойства:
- В классе первой формы создаем статические поля/свойства для хранения передаваемой информации.
- В классе второй формы получаем значения этих полей/свойств через класс первой формы.

Пример:

   public class FirstForm : Form
   {
       public static string Name;
       public static int Age;

       private void OpenSecondForm()
       {
           SecondForm secondForm = new SecondForm();
           secondForm.Name = FirstForm.Name;
           secondForm.Age = FirstForm.Age;

           secondForm.Show();
       }
   }

Во второй форме:

   public class SecondForm : Form
   {
       private void DisplayInfo()
       {
           string name = FirstForm.Name;
           int age = FirstForm.Age;

           // Делаем что-то с полученными значениями
       }
   }

Конкретный выбор способа передачи информации между формами будет зависеть от конкретных требований и структуры приложения.