前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C# 和vb.net事件

C# 和vb.net事件

作者头像
跟着阿笨一起玩NET
发布2018-09-18 13:25:02
9820
发布2018-09-18 13:25:02
举报
代码语言:javascript
复制
vb.net中的事件
''' <summary>
''' 申明代理
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Delegate Sub myEvnetHandler()Sub myEvnetHandler(ByVal sender As Object, ByVal e As EventArgs)

''' <summary>
''' 創建事件發布者類,所需做的事情有:
''' 1、申明事件
''' 2、檢測事件是事存在的方法(可有可無)
''' 3、事件調用
''' </summary>
''' <remarks></remarks>
Class ReleaseClass Release
    Public Event myEvent As myEvnetHandler
    Public Sub DomyEvent()Sub DomyEvent()
        RaiseEvent myEvent(Nothing, Nothing)
    End Sub
End Class

''' <summary>
''' 創建事件接收者類,所需做的事情:
''' 利用代理將對象及其方法注冊進事件
''' </summary>
''' <remarks></remarks>
Class ReceiveClass Receive
    Public Sub New()Sub New(ByVal rl As Release)
        AddHandler rl.myEvent, AddressOf OnmyEvent
    End Sub
    Sub OnmyEvent()Sub OnmyEvent(ByVal sender As Object, ByVal e As EventArgs)
        Console.WriteLine("VB Event Raise")
        Console.ReadLine()
    End Sub
End Class

''' <summary>
''' 實例化發布者、訂閱者類,並引發事件
''' 事件只能還發布者調用,接收者注冊
''' </summary>
''' <remarks></remarks>
Module Module1Module Module1
    Sub Main()Sub Main()
        Dim R As Release = New Release()
        Dim C As Receive = New Receive(R)
        R.DomyEvent()
    End Sub
End Module
代码语言:javascript
复制
C#中事件
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    /**//// <summary>
    /// 申明代理
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    delegate void myEventHandler(object sender,EventArgs e);

    /**//// <summary>
    /// 創建事件發布者類,所需做的事情有:
    /// 1、申明事件
    /// 2、檢測事件是事存在的方法(可有可無)
    /// 3、事件調用
    /// </summary>
    class Release
    {
        public event myEventHandler myEvent;
        public void DomyEvent()
        {
            if (myEvent != null)
            {
                myEvent(null, null);
            }
        }
    }

    /**//// <summary>
    /// 創建事件接收者類,所需做的事情:
    /// 利用代理將對象及其方法注冊進事件
    /// </summary>
    class Receive
    {
        public Receive(Release rl)
        {
            rl.myEvent += new myEventHandler(rl_myEvent);
        }

        void rl_myEvent(object sender, EventArgs e)
        {
            Console.WriteLine("C# Event Raised");
            Console.ReadLine();
        }
    }

    /**//// <summary>
    /// 實例化發布者、訂閱者類,並引發事件
    /// 事件只能還發布者調用,接收者注冊
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            Release R  = new Release();
            Receive C = new Receive(R);
            R.DomyEvent();
        }
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-03-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

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