当前位置:首页 > 代码相关 > 正文内容

C#事件_Sample_2

admin4年前 (2020-03-29)代码相关6925

事件的拥有者与事件的响应者是分开的情况

+=是事件订阅操作符,左边是事件,右边是事件处理器。

using System;
using System.Windows.Forms;

/// <summary>
/// 事件的拥有者和事件的响应者是分开的情况
/// </summary>
namespace _20200328_事件_Sample_2
{
    class Program
    {
        static void Main(string[] args)
        {
            Form form = new Form();
            Controller controller = new Controller(form);
            form.ShowDialog();
        }
    }

    class Controller
    {
        private Form form;
        public Controller(Form form) //自定义一个接受Form类型参数的构造器
        {
            if (form != null)        //如果一个对象为空,就无法访问它的事件,所以要判断一下
            {
                this.form = form;    //这里可以看出使用this的好处,可以区分出那个是字段,哪个是参数
                this.form.Click += this.FormClicked; //为form的Click事件添加事件处理器
            }
        }

        private void FormClicked(object sender, EventArgs e)
        {
            this.form.Text = DateTime.Now.ToString();
        }
    }
}


扫描二维码推送至手机访问。

版权声明:本文由lovedm.club发布,如需转载请注明出处。

本文链接:https://lovedm.club/?id=25

标签: C#事件
分享给朋友:

“C#事件_Sample_2” 的相关文章

C# 泛型委托

C# 泛型委托

虽然没有必要,但是还是先看看自定义的泛型委托:namespace _20200402 {     class Program     {     &nb...

C# 抽象类与接口的比较

相同:都不能被实例化都包含未实现的方法派生类必须实现未实现的方法不同:抽象类可以包含抽象成员,也可以包含非抽象成员,即抽象类可以是完全实现的,也可以是部分实现的,或者是完全不实现的。接口更像是只包含抽象成员的抽象类,或者说接口内的成员都是未被实现的。一个类只能继承一个抽象类(当然其它类也一样),但是...

C# 返回值是接口的方法

今天写PIE二次开发加载栅格数据的时候发现类中方法的返回值是接口,之前没怎么写过,在此记录一下。在例子中设计一个接口 ICalculate ,接口中有两个方法, Add() 和 Div() 分别为加法和减法的功能,均有两个参数,参数和返回值的类型都是int类型。设计一个名为Calculat...

PIE 分块读写数据

PIE 分块读写数据

手头的影像数据量比较大,尺寸是 20009*10165 的,直接创建数组会导致栈溢出,因此决定分块,思路也比较简单,如图:只是把x分成多份,y不变,这样代码写起来也简单,只要做好最后一个块的宽度的判断就好了。我这里是把一个float型的单波段影像做了一个阈值分割,输出到一个byte影像中,分块是以...

C# 通过事件传递参数

C# 通过事件传递参数

20200622气死我了,一开始写的很详细,提交的时候因为长时间未操作提交失败了,今天懒得再写了,只把代码贴出来算了。事件发布相关类:public class ProEventArgs : EventArgs {    &nb...

C、C++、C#交换变量

C、C++、C#交换变量

最近重新看了看C和C++,觉得有些地方挺有意思。作为一开始不管什么资料都会用来做例子的一个程序,交换变量。不管在哪,常用的int,float,double类型的变量都是值类型的,作为参数传到函数(方法)中时,其实是复制了一个值进去,也就是说通过函数是无法直接更改这些值的,只能通过一些间接的方法来更改...