zoukankan      html  css  js  c++  java
  • 委托(一个主窗体统计多个从窗体的按钮单击的次数)

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

    效果如下:

    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 }
    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 }

    之后,我想进一步修改,在一个主窗体上单击按钮,多个从窗体同时显示单击的次数。只是对上面的代码修改了一下,在从窗体初始化后,向主窗体的委托变量赋值时,出现了错误。请大家指教,谢谢。

     

    本文基于 知识共享许可协议 知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议发布,欢迎转载,演绎,但是必须保留本文的署名liminjun88(包含链接http://www.cnblogs.com/liminjun88/),且不得用于商业目的。如您有任何疑问或者授权方面的协商,请与我联系

  • 相关阅读:
    django之表多对多查询
    Django之ORMselect_related和prefetch_related
    django中用户登入时初始化session中保存的数据
    django中间件判断用户有无权限访问当前的url
    django中自定议rbac权限model类
    django中的inclusion_tag配置和实现
    docker命令
    JS设置cookie、读取cookie、删除cookie
    MySQL Community Downloads
    44个CSS3制作的形状图形
  • 原文地址:https://www.cnblogs.com/liminjun88/p/1658498.html
Copyright © 2011-2022 走看看