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(); } }