从另一个应用程序引发事件

时间:2015-01-23 13:55:50

标签: c# events

我有3个项目:

  1. Consumer(Exe):显示项目列表。
  2. 连接(Dll):从数据库中保存/获取项目。
  3. Producer(Exe):创建/更新项目。
  4. 所以这就是我尝试做的事情:

    每次生产者使用Connection方法更新项目时,都应该更新Consumer中的DataGridView。

    所以,我开始使用事件......在连接项目中。

    这是我的Update方法(我在DataBase更新后调用它):

    public delegate void UpdatedEventHandler(object source, UpdateArgs e);
    
    public class UpdateArgs : EventArgs
    {
        private readonly DateTime _date;
    
        public UpdateArgs(DateTime now)
        {
            _date = now;
        }
    }
    
    public static class UpdateUtil
    {
        public static event UpdatedEventHandler OnUpdate;
    
        public static void Raise(object info)
        {
            if (OnUpdate!= null)
            {
                OnUpdate(info, new UpdateArgs(DateTime.Now));
            }
        }
    }
    

    这是我的行动地图:

    1. 打开Consumer,注册事件处理程序:              UpdateUtil.OnUpdateNfe += Object_OnUpdate;
    2. 打开制作人,添加一个新项目。
    3. 在制作人中,请致电UpdateUtil.Raise(something);,以更新项目。
    4. 问题在于:消费者现在应该拥有DataGridView
    5. 中的更新项目

      问题:

      OnUpdate变量始终为null。即使我在消费者应用程序中注册了

      问题:

      如何从另一个可执行文件中引发事件?

0 个答案:

没有答案