Mdi子窗口间消息通信

using System;

namespace Vavic
{
 /// <summary>
 /// 当信息更改是通知其他的窗口重新加载数据
 /// 使用方法为:1)通知信息更改
 /// Notify.Instance().SendMessage(100, "Form1 Activate test notify event");
 /// 其中第一个参数为信息号,第二个参数为信息描述
 /// 2)收取信息
 /// 使用方法,在每个FORMLOAD事件中加入如下语句
 ///  Notify.Instance().OnNotifyEvent += new Notify.NotifyEvent(OnNotifyEvent);
 /// 同时编写如下的方法用于重新加载数据
 ///protected void  OnNotifyEvent(object sender, Notify.NotifyEventArgs e)
 ///{
 ///  if (e.Code == Notify.CompanyInfo)
 ///   System.Diagnostics.Debug.WriteLine(string.Format(" Form1 Code={0}, Message = {1}", e.Code,e.Message));
 ///}
 /// </summary>
 public class Notify
 {
  protected static Notify m_notify = null;
  public delegate void NotifyEvent(object sender, NotifyEventArgs e);
  public event NotifyEvent OnNotifyEvent;
  protected Notify()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }

  public static Notify Instance()
  {
   if (m_notify == null)
    m_notify = new Notify();
   return m_notify;
  }
       
  public void SendMessage(int code, string message)
  {
   NotifyEventArgs e = new NotifyEventArgs(code, message);
   if ( OnNotifyEvent != null)
    OnNotifyEvent(this, e);
  }


  public class NotifyEventArgs : System.EventArgs
  {
   public NotifyEventArgs(int code, string message)
   {
    m_nCode = code;
    m_strMessage = message;
   }

   public NotifyEventArgs()
   {               
   }

   protected int m_nCode;
   public int Code
   {
    get { return m_nCode;}
    set { m_nCode = value;}
   }

   protected string m_strMessage = string.Empty;
   public string Message
   {
    get { return m_strMessage;}
    set
    {
     m_strMessage = value;
     if (m_strMessage == null)
      m_strMessage = string.Empty;
    }
   }
  }

  #region Common Infomation
  public const int CompanyInfo = 1;
  public const int ProjectInfo = 2;
  public const int TaskInfo = 3;
  public const int Opportunity = 4;
  public const int Contactor = 5;
  public const int EmployeeInfo = 6;
  public const int DepartmentInfo = 7;
  public const int AdvCityInfo = 8;
  #endregion
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值