zoukankan      html  css  js  c++  java
  • c# 委托的一种写法

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.Threading;

    namespace WindowsApplication19
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }

            //声明事件委托
            private delegate void delUpdate(string s);


            void update(string s)
            {
                if (label1.InvokeRequired) // 当在其它线程中更新LABEL控件时,为true;否则为false
                {
                    delUpdate du = new delUpdate(update);

                    //指定委托.程序运行到这里,会再执行一次update(),但
                    //label1.InvokeRequired值为false,相当如在主线程中执行更新动作
                    label1.Invoke(du, new object[] { s});
                }
                else
                {
                    //在主线程中执行更新动作
                    label1.Text = s;
                }
            }

            void refresh()
            {
                for (int i = 0; i < 10000; i++)
                {
                    update(i.ToString());
                }

                thd.Abort();
                thd = null;
            }

            Thread thd;
            private void button1_Click(object sender, EventArgs e)
            {
                thd = new Thread(refresh);
                thd.Start();
            }

            private void button2_Click(object sender, EventArgs e)
            {
                update("hello");
            }
        }
    }
  • 相关阅读:
    Opaque data type--不透明类型
    swift class的动态派发
    swift class的虚函数表
    swift class的虚函数表、扩展、@objc修饰、虚函数的派发方式研究
    swift语言混编--语言交互的接口
    CPU指令分类
    CPU的内部架构和工作原理-原文
    cpu的组成及分工
    简单介绍 CPU 的工作原理
    php7开启强类型模式
  • 原文地址:https://www.cnblogs.com/baishahe/p/1186558.html
Copyright © 2011-2022 走看看