В зависимости от того, какая форма вызывает какую другую форму (и как), вы должны каким-то образом «выбросить» запрос на закрытие из формы входа в основную форму.
Предположим, что форма 1 вызывает форму 2 модально:
public partial class Form1 : Form
{
// ...
private void callForm2()
{
var form2 = new Form2();
if ( form2.ShowDialog( this )== DialogResult.Abort )
{
// Close myself if called form instructs me to close.
Close();
}
}
}
Как видите, я использовал DialogResult.Abort
в качестве «сигнала связи» для закрытия. Это можно сделать в Form2
следующим образом:
public partial class Form2 : Form
{
// ...
private void buttonCloseAll_Click( object sender, EventArgs args )
{
// Close myself _and_ return the abort result to the caller.
DialogResult = DialogResult.Abort;
}
}
Обратите внимание, что это всего лишь (неполный пример). Я уверен, что есть альтернативные решения для вашего требования.