Как кодировать кнопку для ввода значения в текстовое поле в другой форме

У меня есть форма 1 с 4 кнопками, когда я нажимаю кнопку, она открывает новую форму. Каждая кнопка открывает одну и ту же форму, но я хочу, чтобы соответствующая кнопка вводила конкретные значения в два разных текстовых поля в форме 2.

Форма 1 Кнопка A; Form2 textbox1= 400 textbox2 =0.4

Форма 1 Кнопка B; Form2 textbox1= 350 textbox2 =0.9

Форма 1 Кнопка C; Form2 textbox1= 700 textbox2 =0.6

Форма 1 Кнопка D; Form2 textbox1= USER DEFINEDtextbox2 = USER DEFINED

Как бы я пошел по этому поводу

 //This is the current text
 // Form1:   
private void ButtonA_Click(object sender, EventArgs e)
    {
           Form2 numb = new form2();
           numb.FormClosed += new FormClosedEventHandler(numb_FormClosed);
           this.Hide();
           CalcForm.Show();
    }

1 ответ

Решение

Вы можете просто установить значение требуемого textBox из первой формы, как показано ниже, но прежде чем убедиться, что вы установили этот textBox как внутренний, чтобы вы могли получить к нему доступ из первой формы (в Form.Designer.cs):

internal System.Windows.Forms.TextBox textBox1;

а также

private void ButtonA_Click(object sender, EventArgs e)
{
       Form2 numb = new form2();
       numb.FormClosed += new FormClosedEventHandler(numb_FormClosed);
       numb.textbox1.Text = "400";
       numb.textbox2.Text = "0.4";
       this.Hide();
       CalcForm.Show();
}

Другой подход заключается в определении параметризованного конструктора для Form2 и установке значения TextBox в этом конструкторе, как показано ниже:

public Form2(string a,string b)
{
    textBox1.Text = a;
    textBox2.Text = b;
}

а также

private void ButtonA_Click(object sender, EventArgs e)
{
       Form2 numb = new form2("aaaa","bbbb");
       numb.FormClosed += new FormClosedEventHandler(numb_FormClosed);
       this.Hide();
       CalcForm.Show();
}
Другие вопросы по тегам