C# 添加事件

1,需求 对象属性发生变化 更新UI

2, 方法: 在对象中定义事件,在属性中调用事件

       // 属性
     public string EmrTitle { get { return _category.EmrTitle.Text; } set { if (_category.EmrTitle.Text != value) { // 出发事件
            if (OnEmrTitleChanged != null) OnEmrTitleChanged(this, new EmrTitleEventArgs(value)); _category.EmrTitle.Text = value; } } }
     //定义事件 public event EventHandler<EmrTitleEventArgs> OnEmrTitleChanged;

  

// 自定义事件参数 
public class EmrTitleEventArgs : EventArgs
    {
        public EmrTitleEventArgs(string title)
        {
            this.Title = title;
        }

        public string Title { get; private set; }
    }

  

// 注册事件
 
  my.OnEmrTitleChanged += new EventHandler<EmrTitleEventArgs>(my_OnEmrTitleChanged);
// 事件执行 
     void my_OnEmrTitleChanged(object sender, EmrTitleEventArgs e)
        {
            if (CurrentEditNode != null && !string.IsNullOrEmpty(e.Title))
            {
                CurrentEditNode[0] = e.Title.IndexOf('\n') == -1 ? e.Title : e.Title.Replace('\n', ' ').Trim();
            }
        }

  

posted @ 2012-06-20 00:14  Wythe  阅读(3477)  评论(0编辑  收藏  举报