zoukankan      html  css  js  c++  java
  • 在线程中执行代码

    说明:支持跨线程访问控件。

    定义代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Threading;
    
    namespace PackageOperMgr.util
    {
        /// <summary>
        /// 跨线程访问控件的委托
        /// </summary>
        public delegate void InvokeDelegate();
    
        /// <summary>
        /// 跨线程访问控件类
        /// </summary>
        public class InvokeUtil
        {
            /// <summary>
            /// 跨线程访问控件
            /// </summary>
            /// <param name="ctrl">Form对象</param>
            /// <param name="de">委托</param>
            public static void Invoke(Control ctrl, InvokeDelegate de)
            {
                if (ctrl.IsHandleCreated)
                {
                    ctrl.BeginInvoke(de);
                }
            }
    
            /// <summary>
            /// 在线程中执行代码
            /// </summary>
            public static void ExecuteCode(Control ctrl, InvokeDelegate de)
            {
                new Thread(new ThreadStart(delegate()
                {
                    InvokeUtil.Invoke(ctrl, de);
                })).Start();
            }
        }
    }
    View Code

    如何使用:

    InvokeUtil.ExecuteCode(this, new InvokeDelegate(delegate()
    {
        //这里写您要执行的代码
        string s = "aa" + "bb"; //例子
        NextBtn.Enabled = false; //例子
    }));
    View Code
  • 相关阅读:
    基本命令
    Unicode Locale
    二进制查看编辑
    java reg
    java util
    js util
    跑到X
    [转]Linux AIO :libaio
    [转]c++ atomic操作
    [转] dpdk笔记
  • 原文地址:https://www.cnblogs.com/s0611163/p/4607726.html
Copyright © 2011-2022 走看看