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