zoukankan      html  css  js  c++  java
  • 委托——窗体间传值150525

    委托总结

    //总结
    //和outputTime();表达一样,编译器会把outputTime();编译成outputTime.Invoke();
    //1 定义委托数据类型
    //2 定义委托变量
    //3 判断委托类型是否存在,使用委托
    //if (outputTime != null)
    // {
    // //和outputTime();表达一样,编译器会把outputTime();编译成outputTime.Invoke();
    // outputTime.Invoke();
    // }
    // 文件写入操作File.WriteAllText(@"aaa.text", System.DateTime.Now.ToString("yy-MM-dd hh-mm-ss"));

    调试程序,在要查看的位置设置断点,F10下一步

    一般程序,以两种方式显示时间(控制台和写入文件)

    主程序:  
    
    class Program
        {
            static void Main(string[] args)
            {
                Class1 t1 = new Class1();
                t1.outputTime = M1;
                t1.output1_time();
               
    
                Class2 t2 = new Class2();
                t2.outputTime = M2;
                t2.output1_time();
    
                Console.ReadKey();
            }
            static void M1()
            {
                Console.WriteLine("当前时间:{0}", System.DateTime.Now.ToString());
            }
    
            static void M2()
            {
                File.WriteAllText(@"aaa.text", System.DateTime.Now.ToString("yy-MM-dd  hh-mm-ss"));
            }
        }
    
    类
     //定义一个委托类型
        public delegate void dele_time();
       
        public class Class1
        {
            public dele_time outputTime;
            public void output1_time()
            {
                Console.WriteLine("--------------------------------------------------");
                Console.WriteLine("--------------------------------------------------");
                if (outputTime!=null)
                {
                    outputTime();
                }
                    
                Console.WriteLine("--------------------------------------------------");
                Console.WriteLine("--------------------------------------------------");
            }
        }
        public class Class2
        {
            public dele_time outputTime;
            public void output1_time()
            {
                Console.WriteLine("--------------------------------------------------");
                Console.WriteLine("--------------------------------------------------");
                if (outputTime != null)
                {
                    //和outputTime();表达一样,编译器会把outputTime();编译成outputTime.Invoke();
                    outputTime.Invoke();
                }
    
                Console.WriteLine("--------------------------------------------------");
                Console.WriteLine("--------------------------------------------------");
            }
        }

    窗体间传值代码

    1 定义委托类型
    public delegate void dele_chuanzhi(string str);
    
    
    form1代码
    
     private void button1_Click(object sender, EventArgs e)
            {
                Form2 f2 = new Form2();
                f2.Show();
                f2.chuanzhi = updateBtn;
               
            }
    
      private void updateBtn(string str)
            {
                textBox1.Text = str;
            }
    
    
    
    form2代码
    private void textBox1_KeyUp(object sender, KeyEventArgs e)
            {
                //this.Text = textBox1.Text;
                string uInput = this.textBox1.Text;
                if (chuanzhi != null)
                {
                    chuanzhi(uInput);
                }
            }
  • 相关阅读:
    【零基础】极星9.5量化入门二:滚动止盈策略
    【零基础】极星9.5量化入门零:简单的开始
    今天分享下移动端rem 适配
    css超出内容省略号代替。
    今天给大家的小知识点是JS的一种排序方式---快速排序
    highcharts 的基本使用
    zTree jquery-zTree的基本使用
    克隆 JS克隆
    JS判断一个对象是不是数组的几种方式
    js 定时器实现倒计时
  • 原文地址:https://www.cnblogs.com/lv-sally/p/4528640.html
Copyright © 2011-2022 走看看