”在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。“问题解决方法
参考自:(https://blog.csdn.net/banket004/article/details/8722075)
一. 如问题描述,窗口句柄创建之前不可以调用invoke或begininvoke,一般原因为窗口没生成好,但程序已经跑到需要调用invoke的地方,所以在调用之前需要进行判断Invoke是否创建了,如果没有则等待,创建完毕之后再执行。思路清楚了,那么程序该怎么写?this.handle这个窗口的窗口句柄。在借鉴了别人的写法之后发现自己之前的写法着实太丑就不拿出来了。
正确的写法:
int handle = this.Handle;
//调用Invoke或BeginInvoke
如果句柄没有创建好,会等待句柄创建完成赋值给handle才继续执行。