`
wangcaiwq
  • 浏览: 7824 次
文章分类
社区版块
存档分类
最新评论

标准的事件和委托声明写法(C#)

 
阅读更多
标准的事件和委托声明写法:
        // 定义委托
        public delegate void PicChangeHandler(object sender, PicChangeEventArgs args);
        /// <summary>
        /// 声明切换图片事件
        /// </summary>
        public static event PicChangeHandler PicChange;
        /// <summary>
        /// 调用图片切换事件函数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        public void OnPicChange(object sender, PicChangeEventArgs args)
        {
            if (PicChange != null)
            {
                PicChange(this, args);
            }
        }

        /// <summary>
        /// 自定义切换图片事件参数类型,根据需要可设定多种参数便于传递
        /// </summary>
        public class PicChangeEventArgs : EventArgs
        {
            private Cursor m_cur;

            public Cursor Cur
            {
                get { return m_cur; }
                set { m_cur = value; }
            }
            private PictureEntry m_pic;

            public PictureEntry Pic
            {
                get { return m_pic; }
                set { m_pic = value; }
            }

            public PicChangeEventArgs(Cursor c1, PictureEntry p1)
            {
                Cur = c1;
                Pic = p1;
            }
        }

触发事件:

 // 触发事件, 传递自定义参数
            OnPicChange(this, new PicChangeEventArgs(this.pictureBox.Cursor, pic));

调用事件:

RisImageViewer.PicChange += new RisImageViewer.PicChangeHandler(OnPicChange);
public void OnPicChange(object sender, FounderSoft.RISClient.WinForms.RisImageViewer.PicChangeEventArgs args)
        {
                PictureListItem nextPicItem = new PictureListItem(args.Pic.Pic);
}




分享到:
评论

相关推荐

    C#基本写法(适合新手和初学者)

    C#是一种广泛应用于软件开发的面向对象的编程语言,由...继续深入学习,如委托、事件、属性、构造函数等,将有助于你成为更熟练的C#开发者。在实践中不断练习,理论结合实际,你会逐渐熟悉并掌握C#这门强大的编程语言。

    看看C#中的委托和事件

    在C#编程语言中,委托和事件是两个关键的概念,它们是实现面向对象设计模式,尤其是事件驱动编程的基础。本文将深入探讨这两个概念,并结合匿名方法的使用,以帮助你全面理解C#中的这些核心特性。 ### 委托 **1. ...

    Delegation委托写法项目实例

    这种模式在很多编程语言中都有应用,包括iOS的Swift和Objective-C,以及C#等。在这个"Delegation委托写法项目实例"中,我们将探讨如何通过自定义方法调用来实现委托,以及在实际项目中如何有效地使用它。 首先,...

    C#委托与匿名委托详解

    C#委托与匿名委托详解 C#中的委托是一种特殊的类型,它可以视为一个方法...委托和匿名委托是C#语言中非常重要的概念,它们可以帮助我们更好地组织代码、简化程序的设计和实现,并且可以提高程序的可读性和可维护性。

    c# 委托委托

    例如,下面是一个名为`MyDelegate`的简单委托声明: ```csharp public delegate void MyDelegate(string message); ``` 这个委托定义了一个不带返回值但接受一个字符串参数的方法签名。 ### 2. 委托的实例化 要...

    第十三章 C#委托.docx

    1. **委托声明** 声明委托类似于声明方法,但不包含方法体。例如: ```csharp public delegate string GetAString(); ``` 这里定义了一个名为`GetAString`的委托,它表示返回字符串类型的方法。委托的定义通常...

    C#源代码-委托概念.zip

    总之,委托是C#中的一种强大的工具,它提供了方法作为参数传递、事件处理和回调机制等功能,极大地增强了代码的灵活性和可扩展性。通过阅读和分析提供的源代码,你可以更深入地理解这些概念,并将其应用到实际项目中...

    C#实例 C#程序实例 C#程序设计实例 C#程序设计案例

    9. **Lambda表达式**:简化匿名函数的写法,常用于LINQ查询和事件处理。 10. **.NET框架**:C#是.NET框架的一部分,提供了大量的类库,如System.IO(文件系统操作)、System.Net(网络通信)和System.Drawing(图形...

    c#的系统学习

    理解变量声明、初始化和作用域是学习C#的第一步。 2. 控制流:掌握if语句、switch语句、循环(for、while、foreach)以及跳转语句(break、continue)等控制结构。 3. 函数:学习如何定义和调用函数,包括参数传递、...

    C#考级笔试试题 C#的精华

    2. **委托与事件**:委托是类型安全的函数指针,常用于实现事件处理。事件是发布者和订阅者之间的通信机制。 3. **Lambda表达式**:简化匿名函数的写法,常用于LINQ查询。 4. **匿名方法**:未命名的方法体,常...

    C#源代码-匿名函数和lamda表达式的写法.zip

    在C#中,Lambda表达式可以与委托类型结合使用,如`Func`和`Action`。`Func`用于表示有返回值的函数,而`Action`用于表示无返回值的函数。例如,`Func, int, int&gt;`表示接受两个整数并返回一个整数的委托类型,这与...

    C#事件实现窗体传值

    在C#编程中,事件是一种通信机制,它允许对象向其他对象发送通知,而不必知道接收方的确切身份。...本篇文章将深入探讨如何利用C#事件在...在实际开发中,可以根据具体需求设计事件和参数类型,以满足各种复杂的交互场景。

    C# 语言参考 微软公司发布

    10. **委托和事件**:委托是类型安全的函数指针,常用于事件处理。事件则是发布者向订阅者传递信息的一种方式,常见于UI编程。 11. **垃圾回收**:C#使用垃圾回收机制管理内存,自动回收不再使用的对象,减轻了...

    C#考证资料

    9. **泛型委托和Lambda表达式**:C#支持泛型委托,如Action和Func,Lambda表达式则是简洁的匿名函数写法,两者结合常用于简化代码,尤其是配合LINQ使用。 10. **异构编程和.NET互操作性**:C#可以通过COM互操作、P/...

    C# 基础+ C# 进阶+微软企业库

    6. **事件和委托**:C#的事件和委托机制是实现组件间通信的关键,常用于UI编程,如按钮点击事件。 7. **异步编程**:C#的async/await关键字使得异步编程更加简洁,可以编写出非阻塞的I/O密集型或计算密集型任务。 ...

    c#程序设计模拟试卷

    - 委托和事件:用于实现回调和事件驱动编程。 9. **单元测试**: - 使用 MSTest、NUnit 或 xUnit 进行单元测试,确保代码质量。 通过本模拟试卷,你可以全面复习C#的关键概念和技术,提升编程能力和问题解决能力...

    C#使用程序代码100个

    7. **委托与事件**:理解委托的用途,如何创建和使用,以及事件的声明和订阅,这是实现异步编程和UI交互的关键。 8. **多线程**:C#中的Thread类和Task类用于处理并发和多任务执行,了解Mutex、Semaphore、Monitor...

    C#深入详解 (王寅永等)

    4. **委托与事件**:C#的委托和事件机制使得异步编程和回调函数的实现变得简单,书中会讲解它们的工作原理和应用场景。 5. **Lambda表达式与LINQ**:C#引入了lambda表达式,简化了匿名函数的写法,同时配合LINQ...

    100个C#程序实例(含代码,截图,.cs文件)

    8. **委托与事件**:理解C#的事件驱动编程模型,学习如何使用委托和事件处理函数,实现组件间的通信。 9. **Lambda表达式与LINQ**:掌握Lambda表达式的简洁写法,以及如何利用LINQ进行查询操作,提升代码的可读性和...

    C#编程思想

    5. **委托与事件**:委托是C#中的一种类型,可以引用方法,类似于函数指针。事件是委托的一种特殊使用,常用于UI编程中的异步操作处理。 6. **Lambda表达式与Linq**:Lambda表达式简化了匿名函数的写法,是 LINQ...

Global site tag (gtag.js) - Google Analytics