zoukankan      html  css  js  c++  java
  • 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。

    public partial class UCInfo : UserControl
        {
            public UCInfo()
            {
                InitializeComponent();
               
            }
            ManualResetEvent neverSetEvt = new ManualResetEvent(false);
            delegate void InvokeDelegate();
            public void SetInfo(string info)
            {
                lblInfo.Invoke(new InvokeDelegate(() => { lblInfo.ForeColor = Color.Green; }), null);
                lblInfo.Invoke(new InvokeDelegate(() => { lblInfo.Text = info; }), null);
                ThreadPool.RegisterWaitForSingleObject(neverSetEvt, (obj, bol) =>
                    {
                        if (lblInfo.IsHandleCreated)
                        {
                            lblInfo.Invoke(new InvokeDelegate(() => { lblInfo.Text = ""; }), null);
                        }
                    }, null, 600000, true);
            }
            public void SetInfo(string info, Color color)
            {
                lblInfo.Invoke(new InvokeDelegate(() => { lblInfo.ForeColor = color; }), null);
                lblInfo.Invoke(new InvokeDelegate(() => { lblInfo.Text = info; }), null);
                ThreadPool.RegisterWaitForSingleObject(neverSetEvt, (obj, bol) =>
                {
                    if (lblInfo.IsHandleCreated)
                    {
                        lblInfo.Invoke(new InvokeDelegate(() => { lblInfo.Text = ""; }), null);
                    }
                }, null, 600000, true);
            }
        }

    当调试运行中突然关闭软件时,
    lblInfo.Invoke(labchange);语句就出先了“在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。”错误。
    解决办法是在lblInfo.Invoke(labchange);前加一个if(lblInfo.IsHandleCreated)判断就可以了

      

  • 相关阅读:
    STL_string容器
    STL简介
    C++文件输入输出
    Qfile22
    QFile111
    v-model原理
    Scrum敏捷软件开发方法
    大神讲故事:微服务及相关技术,很生动,另附ws和restful区别
    js异步请求方法
    SQL Server中char、varchar、text和nchar、nvarchar、ntext的区别 (转)
  • 原文地址:https://www.cnblogs.com/94cool/p/3904076.html
Copyright © 2011-2022 走看看