Как кодировать кнопку для ввода значения в текстовое поле в другой форме
У меня есть форма 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 DEFINED
textbox2 = 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();
}