• 选学校
  • 高中毕后选择什么学校好
  • 启蒙星
  • 北大青鸟课程介绍
  • 北大青鸟助你走上高级软件工程师修炼之路
  • 转行不是梦,学北大青鸟IT培训
  • 北大青鸟辉煌12年
  • 株洲北大青鸟校区升级

您现在的位置:株洲北大青鸟 >> >> 师资力量>> 技术天地

师资力量
开班信息
输入姓名手机号码预约试听课程
姓  名:*
手机号:*
创业摇篮班
开班日期:10月15日
招生人数:25
就业直通班
开班日期:10月31日
招生人数:25
就业精英班
开班日期:9月13日
招生人数:已满
技术天地
  • 自定义委托和事件实现窗体数据同步更新
  • 〖不上名牌大学,就读株洲北大青鸟〗 发布人:株洲北大青鸟
  • 发表日期:2013/5/30 10:11:40 阅读数:70  
  •  
  •   委托 和 事件在 .Net Framework中的应用非常广泛。 委托( Delegate ):是一种定义方法签名(只有方法的名字,没有方法体),可以与具有兼容的签名的任何方法关联。所谓兼容的方法,是指 这个方法和委托的方法签名具有相同的返回类型和参数。它和C或C++中的函数指针十分类似,或者说委托是高级的函数指针。它具有两大特点:面向对象,类型安全和可靠的。

      下面通过委托实现数据同步更新

      在需要操作的窗体中写入以下关键代码:

      //定义委托

      public delegate void WeiTuo(string ms);

      //定义委托对象

      public WeiTuo tuo;

      private void button1_Click(object sender, EventArgs e)

      {

      //使用委托调用委托方法

      tuo(this.textBox1.Text);

      }

      在需要数据实时更新的窗体中写入以下关键代码

      //创建需要委托的方法

      public void Update(string s)

      {

      this.textBox1.Text = s;

      }

      private void button1_Click(object sender, EventArgs e)

      {

      Form2 f2 = new Form2();

      //将委托方法传递给委托对象

      f2.tuo = Update;

      f2.Show();

      }

      轻松几行代码搞定数据实时更新问题。

      事件:就是当对象发生某些事情时,向该对象的客户提供通知的一种方法。.NET的事件模型建立在委托机制之上,它实现了对委托的封装。因此它是一种特殊类型的委托,更确切的说是一个多播委托(MultiDelegate)。意思是指可以将多个事件处理函数委托交由一个事件进行托管,即当事件引发时,会调用其中的每一个委托函数。较好地理解委托和事件在开发中会如虎添翼,下面通过自定义事件实现窗体间数据的同步刷新

      主要代码区别在于

      //定义委托

      public delegate void WeiTuo(string ms);

      //定义委托对象 注意事件的定义

      public event WeiTuo shijian;

      private void button1_Click(object sender, EventArgs e)

      {

      //使用委托调用委托方法

      shijian(this.textBox1.Text);

      }

      //创建需要委托的方法

      public void Update(string s)

      {

      this.textBox1.Text = s;

      }

      private void button1_Click(object sender, EventArgs e)

      {

      Form2 f2 = new Form2();

      //将委托方法传递给委托对象 注意事件赋值方式

      f2.shijian += new Form2.WeiTuo(Update);

      f2.Show();

      }

      现在大家发现委托和事件都能很好的实现数据的同步更新。但是在实际操作中推荐大家使用事件。为什么呢?大家发现普通的委托和多播委托的委托对象可以在外部赋值,而事件不能。与普通的委托相比,事件可以避免委托对象被外部随意修改。因此安全性更好。虽然多播委托可以实现事件。但是推荐使用事件的方式。

上一篇:讲解SQL数据库附加无效问题
下一篇:清除浮动的子元素
分享到:

版权所有 ©株洲健坤科技职业培训学校    学校地址:株洲市天元区黄山路205号健坤大厦(天元区消防中队对面)

咨询报名热线:400-8812-866    邮箱地址:4008812866@b.qq.com   备案号: 湘ICP备10202015号  

北大青鸟学费是多少 湖南北大青鸟怎么样
株洲北大青鸟好不好 株洲北大青鸟学费多少 株洲北大青鸟学校这么样
秒速时时彩官方网站