private void button1_Click(object sender, EventArgs e)
{
openChildForm(new Form3());
}
private void button2_Click(object sender, EventArgs e)
{
Form3 main = new Form3();
main.button1.Text = "TEST"; // ТУТ НИФИГА НЕ МЕНЯЕТ
//main.ShowDialog(); // как привели в примере - не подходит !
}
List<Form> activeFormArray = new List<Form>();
private Form activeForm = null;
private void openChildForm(Form chilldForm)
{
bool keyMain = false;
foreach (Form main in activeFormArray)
{
if (main.Text == chilldForm.Text)
{
keyMain = true;
activeForm = main;
main.BringToFront(); // закрывать ОКНО НЕЛЬЗЯ, поэтому переносим на передний план
}
}
if (keyMain == false)
{
// открываем дочернюю форму в панеле
activeForm = chilldForm;
activeFormArray.Add(chilldForm);
chilldForm.TopLevel = false;
chilldForm.FormBorderStyle = FormBorderStyle.None;
chilldForm.Dock = DockStyle.Fill;
panel1.Controls.Add(chilldForm);
panel1.Tag = chilldForm;
chilldForm.BringToFront();
chilldForm.Show();
}
}
private void button1_Click(object sender, EventArgs e)
{
openChildForm(new Form3());
}
private void button2_Click(object sender, EventArgs e)
{
Form3 main = new Form3();
main.button1.Text = "TEST"; // ТУТ НИФИГА НЕ МЕНЯЕТ
//main.ShowDialog(); // как привели в примере - не подходит !
}
List<Form> activeFormArray = new List<Form>();
private Form activeForm = null;
private void openChildForm(Form chilldForm)
{
bool keyMain = false;
foreach (Form main in activeFormArray)
{
if (main.Text == chilldForm.Text)
{
keyMain = true;
activeForm = main;
main.BringToFront(); // закрывать ОКНО НЕЛЬЗЯ, поэтому переносим на передний план
}
}
if (keyMain == false)
{
// открываем дочернюю форму в панеле
activeForm = chilldForm;
activeFormArray.Add(chilldForm);
chilldForm.TopLevel = false;
chilldForm.FormBorderStyle = FormBorderStyle.None;
chilldForm.Dock = DockStyle.Fill;
panel1.Controls.Add(chilldForm);
panel1.Tag = chilldForm;
chilldForm.BringToFront();
chilldForm.Show();
}
}
// Делаешь глобальное объявление
public Form3 Form3;
private void button1_Click(object sender, EventArgs e)
{
// Создаёшь новый экземпляр формы и передаешь его
Form3 = new Form3();
openChildForm(Form3);
}
private void button2_Click(object sender, EventArgs e)
{
// Обращаешся к ранее созданной форме
Form3.button1.Text = "TEST";
}