栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

C#报错“在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke“小结

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#报错“在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke“小结

原因:调用窗体时,注册了事件。关闭调用窗体后,没有注销事件。

 

1.手动注册的事件,需要在窗体关闭时手动释放掉,如下

 private void QuickResponseForm_Load(object sender, EventArgs e)
    {
            //添加事件
            label_start.MouseClick += StartQuickAnswer;

   }

 

private void QuickResponseForm_FormClosing(object sender, FormClosingEventArgs e)
        {

            label_start.MouseClick -= StartQuickAnswer;
        }

 

2.而我们按回车生成的事件是系统创建的,窗体关闭时系统会帮我们释放掉

 

3.多次注册事件会导致事件触发多次,如下,会触发两次StartQuickAnswer事件
            label_start.MouseClick += StartQuickAnswer;
            label_start.MouseClick += StartQuickAnswer;

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910831.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号