前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >委托(一个主窗体统计多个从窗体的按钮单击的次数)

委托(一个主窗体统计多个从窗体的按钮单击的次数)

作者头像
八哥
发布2018-01-18 16:21:29
1.3K0
发布2018-01-18 16:21:29
举报
文章被收录于专栏:快乐八哥快乐八哥

  最近在学习金老师的《.NET2.0面向对象编程揭秘》,学到了13章,委托、事件驱动和异步调用。书上有个试一试,要求:利用委托,达到一个主窗体统计多个从窗体的按钮单击的次数。 效果如下:

代码语言:js
复制
frmMain   1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Text;
 7 using System.Windows.Forms;
 8 
 9 namespace DelegateInForm
10 {
11  public partial class frmMain : Form
12     {
13  public frmMain()
14         {
15             InitializeComponent();     
16         }
17  private void ShowCount(string count)
18         {
19             lblCount.Text = count;
20         }
21 
22  private void btnClick_Click(object sender, EventArgs e)
23         {
24  //创建从窗体对象并显示
25             frmOther frm = new frmOther();
26             frm.recorder = this.ShowCount;//向从窗体的委托变量赋值
27             frm.Show();
28         }
29     }
30 }

代码语言:js
复制
frmOther   1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Text;
 7 using System.Windows.Forms;
 8 
 9 namespace DelegateInForm
10 {
11  public partial class frmOther : Form
12     {
13  //定义了一个委托类型ShowInfo
14  public delegate void ShowInfo(string info);
15 
16  public frmOther()
17         {
18             InitializeComponent();
19         }
20  //委托变量recorder
21  public ShowInfo recorder;
22  private static int counter = 0;//计数器,使用static可以多个从窗体点击计数
23  private void btnClickME_Click(object sender, EventArgs e)
24         {
25             counter++;
26  if (recorder != null)
27             {
28                 recorder(counter.ToString());
29             }
30         }
31     }
32 }
 
 
 之后,我想进一步修改,在一个主窗体上单击按钮,多个从窗体同时显示单击的次数。只是对上面的代码修改了一下,在从窗体初始化后,向主窗体的委托变量赋值时,出现了错误。请大家指教,谢谢。
 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010-01-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档