Как кодировать кнопку для ввода значения в текстовое поле в другой форме - PullRequest
1 голос
/ 27 марта 2019

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

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

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

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

Форма 1 Кнопка D;Форма 2 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 Ответ

1 голос
/ 27 марта 2019

Вы можете просто установить значение требуемого 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();
}
...