Утилизация 2-го раза не избавляется от формы? - PullRequest
1 голос
/ 13 июля 2010

Я использую этот метод для закрытия форм в соответствии с их 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);
        }
    }
}

1 Ответ

1 голос
/ 13 июля 2010

Хорошо, я тупой!Я избавлялся от формы, но не удалял ее из списка.Теперь я добавил строку кода, чтобы сделать это, и теперь это исправлено.

Редактировать: Спасибо, Джон, за то, что я посмотрел ближе на код (особенно два списка)

...