C#-委托-20170103

  个人理解委托存在3对象

     1.调用者对象

     2.被调用者对象

     3.前两者之间的桥梁对象

     

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

namespace 委托测试
{
public partial class EntrustText : Form
{
public EntrustText()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
//实例化子窗体
UpdateFrom updateFrom = new UpdateFrom();
//将[refreshM]方法赋值给委托对象[Refresh1]建立方法同委托之间的关系
updateFrom.Refresh1 = refreshM;
updateFrom.ShowDialog();
}

/// <summary>
/// 待调用方法
/// </summary>
/// <param name="strVal"></param>
private void refreshM(string strVal)
{
this.textBox1.Text = strVal;
}
}
}

 

 

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

namespace 委托测试
{
public partial class UpdateFrom : Form
{
public UpdateFrom()
{
InitializeComponent();
}

//定义一个委托
public delegate void refreshdelegate(string val);

//委托对象封装
private refreshdelegate refresh;

public refreshdelegate Refresh1
{
get { return refresh; }
set { refresh = value; }
}

private void button1_Click(object sender, EventArgs e)
{
//委托调用
Refresh1(this.textBox1.Text.Trim());
}
}
}

 

 

 

posted @ 2017-01-03 09:57  黎明之始  阅读(143)  评论(0)    收藏  举报