Допустим, у вас есть две формы, основная форма и вторичная форма. У вас есть несколько текстовых полей в основном, и после нажатия кнопки вы хотите получить данные из них и показать их в форме 2.
Сначала я бы определил класс, который представляет данные, которые вы хотите отправить / получить. Кажется, это какие-то личные данные, поэтому давайте создадим класс Person
:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
Очевидно, у вас будут все ваши 20 вещей в качестве свойств в классе, а не только эти два.
Теперь идея заключается в том, чтобы получить данные из текстовых полей и сохранить их в экземпляре этого объекта. Далее, во второй форме, которую вы хотите запустить, давайте передадим объект Person
в конструктор. Таким образом, код второй формы будет выглядеть следующим образом. Мы сохраним эту Person
информацию во второй форме, а затем отобразим ее метки.
public partial class SecondForm : Form
{
public Person Person { get; set; }
public SecondForm(Person person)
{
InitializeComponent();
Person = person;
}
private void SecondForm_Load(object sender, EventArgs e)
{
lblName.Text = Person.Name;
lblAge.Text = Person.Age.ToString();
}
}
Теперь в основной форме, когда нажата кнопка, мы сохраним данные в экземпляреPerson
class, затем передайте его в конструктор SecondForm
и затем покажите его.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var person = new Person();
person.Name = txtName.Text;
if (int.TryParse(txtAge.Text, out int age))
{
person.Age = age;
}
var form2 = new SecondForm(person);
form2.Show();
}
}