Мне было интересно, как вы закроете форму, которая в данный момент находится в фокусе, или ту, в которой содержится элемент управления. Например, у меня есть импортированный заголовок с меню, которое я импортирую во все формы в моем приложении.
Это (упрощенный) код в моем классе заголовка:
public static Panel GetHeader()
{
...
menuItem.Text = "Menu Item";
menuItem.Name = "Next form to open";
menuItem.Click += toolStrip_Click;
...
}
public static void toolStrip_Click(object sender, EventArgs e)
{
ToolStripMenuItem menuItem = sender as ToolStripMenuItem;
NavigationClass.SaveNextForm(menuItem.Name);
}
Я создал класс навигации, который выберет следующую форму для открытия, но я не смог найти ничего для этогозакрыть текущую (поскольку Close () не является опцией, поскольку она импортируется с помощью Controls.Add (HeaderClass.GetHeader))
Редактировать
Просто дляпоясните, эта форма находится в другом файле, который является обычным файлом класса.Вот в чем проблема, потому что я пытаюсь избежать серьезного нарушения принципа СУХОЙ