Я получаю следующее исключение в приложении Windows Form
System.InvalidOperationException: Invoke или BeginInvoke нельзя вызывать для элемента управления, пока не создан дескриптор окна.
Метод, в котором возникает исключение, вызывает this.Invoke (System.Windows.Forms.Form.Invoke).Этот метод зарегистрирован в событии другого класса в конструкторе, что, кажется, приводит к состоянию гонки и этому исключению.
public Form1()
{
InitializeComponent();
SomeOtherClass.Instance.MyEvent += new SomeDelegate(MyMethod);
}
private void MyMethod()
{
this.Invoke((MethodInvoker)delegate
{
// ... some code ...
}
}
На каком этапе жизненного цикла формы создается дескриптор?В каком случае формы будет безопасно зарегистрировать метод для иностранного события?