定义属性标志位FLAG 当FLAG值发生改变时 根据相应的值执行相应的代码
onFlagChanged += new MyFlagChanged(DoEvent_BeforeFlagChanged);//注册事件public delegate void SetTextHandler(int textid, string strInfo); //定义一个委托 private delegate void MyFlagChanged(object sender, EventArgs e); //定义一个委托关联的事件 private event MyFlagChanged onFlagChanged; //设置属性标志位 监听GPS打开与关闭 private static int closeFlag; public int m_Flag { get { return m_Flag; } set { //如果值改变 if (value != m_Flag) { m_Flag = value; WhenFlagChange(); } } }
//Flag属性被修改事件 触发函数 protected virtual void WhenFlagChange() { EventArgs e = new EventArgs(); if (onFlagChanged != null) { onFlagChanged(this, e); } } //事件处理函数,Flag改变后 根据Flag值进行相应操作 private void DoEvent_BeforeFlagChanged(Object sender, EventArgs e) { if (m_Flag == 0) { //Flag ==0时执行 } else { // Flag!=0时 执行 } }