目标:在子窗口Form2上单击按钮时向Form1传递一组自定义参数,并显示在父窗口Form1上。 方法:有很多方法,这里只介绍委托和事件的实现方式。 思路:Form2中定义事件,Form1创建Form2并订阅事件;Form2触发事件后传递参数到Form1,Form1处理参数。 Form1代码如下: ... ...
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。事件是一种特殊的委托。 (1). delegate delegate我们常用到的一种声明 Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。 例:public delegate int M ...
在前面一篇中写到了委托,也说了委托是C#中很多特性的基础,这篇要讲的事件,就是建立在委托之上的。在C#1.0中,委托和事件是最重要的两个特性。 1、什么是事件? 事件设计到两类角色——事件发布者和事件订阅者。当某个事件发生后,事件发布者会发布消息;事件订阅者会接收到信息,并做出相应的处理,这就是事件 ...
分类:
其他好文 时间:
2016-04-11 12:04:29
阅读次数:
217
首先来说,委托的作用就是可以给类的方法传递其他类的方法而不必将类实例化。第二点,委托就是事件和响应事件的方法的桥梁(就是传递响应事件的方法给事件)。这里要注意,委托跟类平级,事件与方法平级。 全文 事件与委托似乎很难以理解,这是因为它们的使用方式与常用的编码有很大的差别,例如通常编写的都是同步代码, ...
分类:
其他好文 时间:
2016-04-11 08:44:37
阅读次数:
146
1.委托 委托的声明原型是 delegate <函数返回类型> <委托名> (<函数参数>)例如:public delegate void Calculator(int i, int j);这样就定义了一个委托,但是委托在.net内相当于声明了一个类,类如果不实例化为对象,很多功能是没有办法使用的, ...
下面我们来说一下系统自带的委托,一个就黑丝fun<>一个就是Action<> 这两个委托是系统给我们用的,我们一般用的时候用这两个委托就行了,不需要再自己声明一个委托,这两个的区别是前者有返回值,而后者是什么返回值的 下面我们先来介绍下IEnumerable这个东东。。。。微软给我们的解释是:公开枚 ...
委托的另一种用法 匿名方法: 下面我们来看下拉姆达表达式 再举个例子: ...
首先我们来看一个代码 public static void Test(XXXX show) { }如果有个XXXX类型,能够让我传入一个方法,那就好了,那么,我们怎么做呢? 委托!!! 请看下面一段代码 现在我们对于委托有了基本概念,但是,我们为什么要用委托呢?委托在什么情况下使用呢? 显然我们是这 ...
引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述 ...
例子 : 点击form1上的按钮打开form2窗口,在form2窗体中的文本框中输入一个值后,在点击form2窗体中按钮,在form2中的文本框中输入的值也会在form1中的文本框中出现。 form1: public partial class Form1 : Form { public Form1 ...