故事:老大和老三的故事
大学宿舍老大有女朋友,老三木有。有一天,老三准备外出逛逛,老大在床上喊老三:"老三,顺便帮我买两张电影票,我要和女友一起看"。苦逼的老三吭哧吭哧帮老大买电影票
去了。老大委托老三买电影票,这就是委托。也许你会问为什么老大不直接去买呢?因为老大要泡妞没时间。那么,老三得买什么类型的电影票呢?是《致青春》还是《中国合伙
人》?这得老大说了算。老大那边提供了具体买电影票的方法,但老大自己不动手,真正执行买电影票的是苦逼的老三,故事未完待续......
需求:
要求:使用委托、事件
目标:在A窗体中点击按钮改变B窗体的标题
理解:B窗体委托A窗体改变自己的标题
分析:
1.窗体的显示顺序:首先我们要看一下B窗体的标题是什么,因此首先显示B窗体,在B窗体添加按钮显示A窗体。
2.改变B窗体的标题,我们定义一个ChangeTitle(string Title)来改变B窗体标题,那么,这个ChangeTitle放在哪里呢?当然是B窗体了。
3.在A窗体中定义委托,事件,以及触发该事件的时机。
先看效果:
窗体A code:
1 public delegate void ChangeFormTitle(string title); 2 3 public partial class A : Form 4 { 5 public event ChangeFormTitle changeEventHandle; 6 7 public A() 8 { 9 InitializeComponent(); 10 } 11 12 private void button1_Click(object sender, EventArgs e) 13 { 14 if (changeEventHandle != null) 15 { 16 changeEventHandle(titleTextBox.Text); 17 } 18 } 19 }