Я использую этот метод для закрытия форм в соответствии с их Id, но если я открою форму с Id 2, закрою ее один раз, она будет работать нормально, но если я снова открою форму с Id 2, она не закроет форма (форма просто остается на экране). Я понятия не имею, что происходит, и отчаянно нуждаюсь в помощи. Спасибо!
public void OutsideClose(long Id)
{
if (InvokeRequired)
{
Invoke(new Action<long>(OutsideClose), Id);
}
else
{
var FormToClose = ListForms.Find(a=> a.Id == Id);
if(FormToClose != null)
{
FormToClose.Dispose();
OpenForms.Remove(Id);
}
}
}