using DrawGraph; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace DrawGraph { /// /// 可编辑区域管理器 /// public class EditAreaManage: AreaManageBase { public EditAreaManage() { } public EditAreaManage(object _operationRecor, ZedGraphControl _zedControl, TemplateManage _template, string _name) : base(_operationRecor, _zedControl, _template, _name) { } #region 重写的事件 /// /// 鼠标点击画板 /// /// /// public override void MouseDown(ZedGraphControl sender, MouseEventArgs e) { } public override void MouseMove(ZedGraphControl sender, MouseEventArgs e) { } public override void MouseUp(ZedGraphControl sender, MouseEventArgs e) { } public override void MouseDoubleClick(ZedGraphControl sender, MouseEventArgs e) { } public override void KeyUp(ZedGraphControl sender, KeyEventArgs e) { } #endregion 重写的事件结束 public override void Bind() { } public override void editAr_Click(object sender, EventArgs e) { //传过来的数据是不是可编辑的 AbleEditPackObj editPack = sender as AbleEditPackObj; if (editPack == null) return; //找到这个组件 AbleEditPackObj aEdit1 = PackManage.ListPob.FirstOrDefault(s => s is AbleEditPackObj && s.PackTag == editPack.PackTag) as AbleEditPackObj; if (aEdit1 == null) return; //先把所有WINFORM组件隐藏 foreach (PackObjBase pack in PackManage.ListPob) { AbleEditPackObj aEdit = pack as AbleEditPackObj; if (aEdit != null) { aEdit.IsVisible = false; } } if (aEdit1 != null) { aEdit1.IsVisible = !aEdit1.IsVisible; Control conl = aEdit1.CControl; conl.Leave -= new EventHandler(txt_Leave); //根据数据源名称进行不同的事件处理 switch (aEdit1.ClassDataSourceName) { case "OperationRecord.PatientRef.Bed": conl.Leave += new EventHandler(txt_Leave); break; case "OperationRecord.Operation": //手术名称 conl.Leave += new EventHandler(txt_Leave); break; default: //在此处写日志 aEdit1.IsVisible = !aEdit1.IsVisible; MessageBox.Show("没找到-" + aEdit1.ClassDataSourceName + "-属性的事件"); break; } } } private void txt_Leave(object sender, EventArgs e) { Control control = (Control)sender; if (control == null) return; AbleEditPackObj ableEdit = control.Tag as AbleEditPackObj; if (ableEdit == null) return; string DataSourceName = ableEdit.ClassDataSourceName; Console.WriteLine(DataSourceName); //拿到数据源(格式:OperationRecord.PatientRef.Bed) bool updateOk = true; try { } catch (Exception ) { //写日志 } finally { if (!updateOk) { } else { //设置属性的值 template.SetObjValue(OpeRecord, DataSourceName, control.Text.Trim(), control.Text.Trim()); } ableEdit.IsVisible = !ableEdit.IsVisible; } } } }