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

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

时间:2022-10-14 17:40:51浏览次数:61  
标签:控件 Invoke 启动 句柄 卸载 lik 任务 窗体 Text

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

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

标签:控件,Invoke,启动,句柄,卸载,lik,任务,窗体,Text
From: https://blog.51cto.com/u_14816966/5757526

相关文章