Когда приложение получает вызов от службы, оно открывает форму для каждого звонка. Пользователь должен вводить данные в каждое окно и закрывать его. Чтобы сгладить работу пользователя, я пытаюсь повторно активировать окно, над которым работал пользователь, когда отображается следующее.
Способ сделать это ниже:
private void ActivatePreviousActiveForm() {
if (_activeWhenOpen != null && _activeWhenOpen.InvokeRequired) {
if (!_activeWhenOpen.Disposing || !_activeWhenOpen.IsDisposed)
_activeWhenOpen.Invoke((MethodInvoker)ActivatePreviousActiveForm);
} else
if (_activeWhenOpen != null && !(_activeWhenOpen is FrmRuntimeError))
_activeWhenOpen.Activate();
}
Иногда он выдает «Невозможно получить доступ к удаленному объекту» при достижении строки
if (!_activeWhenOpen.Disposing || !_activeWhenOpen.IsDisposed)
Кто-нибудь знает, почему это произойдет?