关于c#:79C-在创建窗口句柄之前不能在控件上调用-Invoke-或-BeginInvoke错误的解决办法

52次阅读

共计 428 个字符,预计需要花费 2 分钟才能阅读完成。

会呈现这个谬误的可能起因为:
窗体敞开了,但还有线程没执行完,且该线程有在操作窗体的内容:

if (_lik 启动工作.IsHandleCreated)
                {_lik 启动工作.Invoke(new Action(() =>
                    {if (rs.Exists == true)
                        {
                            _lik 启动工作.Enabled = true;
                            if (rs.status == ServiceControllerStatus.Running)
                            {_lik 启动工作.Text = "进行工作(已启动)";}
                            else
                            {_lik 启动工作.Text = "启动工作(未启动)";}

                            _lik 装置与卸载服务.Text = "卸载服务";
                        }
                        else
                        {
                            _lik 启动工作.Text = "启动工作(服务不存在)";
                            _lik 启动工作.Enabled = false;
                            _lik 装置与卸载服务.Text = "装置服务";
                        }


                    }));
                }

若没有加:_lik 启动工作.IsHandleCreated 这个 if 判断,间接执行,就会报错。

_lik 启动工作 是窗体的 link 控件。

正文完
 0