当前位置 : 主页 > 网络编程 > net编程 >

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

来源:互联网 收集:自由互联 发布时间:2023-09-06
会出现这个错误的可能原因为:窗体关闭了,但还有线程没执行完,且该线程有在操作窗体的内容: if (_lik启动任务.IsHandleCreated) { _lik启动任务.Invoke(new Action(() = { if (rs.Exists == true) {

会出现这个错误的可能原因为: 窗体关闭了,但还有线程没执行完,且该线程有在操作窗体的内容:

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控件。

网友评论