zoukankan      html  css  js  c++  java
  • 委托 在其他类中修改form中的控件属性

    通常情况下,我们需要在其他业务类中将提示信息时时显示到主界面上,可以通过以下方式 

    Form1.cs

     using System;

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

    namespace WindowsFormsApplication2
    {
        
        public partial class Form1 : Form
        {

            public Form1()
            {
                InitializeComponent();
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                TestDelegate td = new TestDelegate();
                td.cb = SafeSetText;
                Thread th = new Thread(new ThreadStart(td.Test));
                th.Start();
            }

            public  void SafeSetText(string text)
            {
                if (this.InvokeRequired)
                {
                    _SafeSetTextCall call = delegate(string s)
                    {
                        this.label1.Text = s;
                    };

                    this.Invoke(call, text);
                }
                else
                    this.label1.Text = text;
            }

            public delegate void _SafeSetTextCall(string text); 
        }
    }

     TestDelegate.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;

    namespace WindowsFormsApplication2
    {
        public delegate void CallBack(string msg);

        public class TestDelegate
        {
            public CallBack cb;
            public TestDelegate()
            {

            }
            public void Test()
            {
                for (int i = 0; i < 100; i++) { 
                    cb(i.ToString());
                    Console.WriteLine(i.ToString());
                    Thread.Sleep(1000);
                }
            }
        }

    } 

  • 相关阅读:
    hdu1565 用搜索代替枚举找可能状态或者轮廓线解(较优),参考poj2411
    cf1114D 区间dp基础
    poj2411 状态压缩-铺地板题型-轮廓线解法(最优)
    poj3254 炮兵阵地弱化版,记数类dp
    poj2441状态压缩dp基础
    zoj3471 状态压缩dp基础
    北极通讯网络(最小生成树)
    黑暗城堡(生成树)
    关押罪犯(并查集)
    搭配购买(并查集+0/1背包)
  • 原文地址:https://www.cnblogs.com/beijing2020/p/4036391.html
Copyright © 2011-2022 走看看