phil.o
Вы можете создать открытый метод в Form1, отвечающий за запись указанного текста в указанное текстовое поле:
public void WriteTo(int textBoxNb, string text)
{
switch (textBoxNb)
{
case 1:
textbox1.Text = text;
break;
case 2:
textbox2.Text = text;
break;
case 3:
textbox3.Text = text;
break;
default:
break;
}
}
Затем из формы 2:
private void theButton_Click(object sender, EventArgs e)
{
if (theCombo.SelectedIndex > -1 && !string.IsNullOrEmpty(textbox1.Text))
{
form1Instance.WriteTo((int)theCombo.SelectedItem, textbox1.Text);
}
}
// Form1's instance variable
private Form1 form1Instance;
// Form2's constructors
public Form2()
{
InitializeComponent();
}
public Form2(Form1 instance) : this()
{
form1Instance = instance;
}
Для этого необходимо, чтобы вы поддерживали ссылку на экземпляр Form1 внутри Form2 (the
form1Instance
переменная).
Кроме того, хорошей привычкой было бы не использовать имена по умолчанию для ваших элементов управления, а скорее давать им значимые имена, отражающие значение значения, которое они должны отображать.
phil.o
- Нет, извини. Но если вы объясните то, что вам непонятно, то, возможно, я или кто-то другой может попытаться помочь вам дальше.
phil.o
Например, вы можете передать экземпляр Form1 в конструктор Form2. Я обновлю свое решение, чтобы объяснить способ.