C#队列中添加元素时自动触发事件

C#队列中添加元素时自动触发事件,第1张

我C#也不是很熟,说说我看法吧, 自动触发? 只能写代码引发吧,当你更新数据时引发一个自定义事件就好, 外面收到事件再相应处理。给你一个自定义事件的代码吧

    //定义一个委托类型

    delegate void deleGate1(string s)

    //发生事件的类************************************************

    class MyClass

    {

        //定义一个事件

        public event deleGate1 updataEvent

        //执行代码 更新队列后引发事件

        public void run()

        {

            //执行您的方法………………

            //引发事件:

            updataEvent("大家注意!队列已经更新了……")   

        }

    }

    //事件处理类***************************************************

    class EventDo

    {

        //事件处理方法编写

        public void Run(string s)

        {

             MessageBox.Show(s, "接收到事件。")

        }

        //构造函数中注册事件处理方法

        public EventDo(MyClass o)

        {

            o.updataEvent += Run

        }

    }

    

    //调用方法*****************************************************

    //实例化事件引发对象,和事件处理对象:

    MyClass o = new MyClass()

    EventDo ed = new EventDo(o)

    //程序中不论是在什么地方执行,您只要运行了这个方法,事件就被引发

    o.run()  //一般情况是在事件引发类中执行,这里只是为发示范。

Windows

窗体程序是基于消息机制的,所有控件,它的本质都是一个窗体,都是使用

CreateWindows

函数来创建,不过类名,则需要指定为系统预先注册的控件类,比如,你要创建一个按钮控件,就要这样子

CreateWindows(

"BUTTON",

"按钮标题"

),CreateWindows

这个函数你应该用了不少了吧,其余的参数可以参考

MSDN,但是类名我们指定了

“BUTTON”,说明我们要创建一个按钮,每个按钮都有一个唯一的

ID,通过你的消息处理函数,可以知道哪个按钮发生了什么事件,详细讲的话,非常多,你可以参考

MSDN,或者《Windows

程序设计》这本书


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7971397.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存