public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { IWindowsFormsEditorService editorService = null; if (context != null && context.Instance != null && provider != null) { editorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (editorService != null) { CurveChart control = null; if (context.Instance is CurveChart) { control = context.Instance as CurveChart; } CurveApperence form1 = new CurveApperence(); form1.IsReport = control.IsReport; form1.ChartParent = control as PMSChartCtrl; DataSource ds = control.Apperence.Clone(); form1.SqlSource = control.Apperence; form1.Distance = control.Distance; if (DialogResult.OK == editorService.ShowDialog(form1)) { //2012.04.25 注释 属性异常点不对,在于快捷方式没有使用Clone方法,正常属性没问题 ////李琦 4.23 添加 //System.Windows.Forms.DataVisualization.Charting.ChartArea ChartArea = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); //control.Apperence.ChartAreaList[0].SetChartArea(ChartArea); //PMSChartArea pca = new PMSChartArea(ChartArea); //form1.SqlSource.ChartAreaList[0] = pca; //// value = form1.SqlSource.Clone(); control.SelectRecordFields = form1.SqlSource.YAixs; control.XRecordField = form1.XAixs; } else { value = ds; } return(value); } } return(value); }
private void DealWithApperence() { if (this != null) { CurveChart control = null; if (this is CurveChart) { control = this as CurveChart; } CurveApperence form1 = new CurveApperence(); form1.IsReport = control.IsReport; form1.ChartParent = control as PMSChartCtrl; DataSource ds = control.Apperence.Clone(); form1.SqlSource = control.Apperence; form1.Distance = control.Distance; if (DialogResult.OK == form1.ShowDialog()) { //2012.04.25 注释 属性异常点不对,在于快捷方式没有使用Clone方法,正常属性没问题 //李琦 4.23 添加 //System.Windows.Forms.DataVisualization.Charting.ChartArea ChartArea = new System.Windows.Forms.DataVisualization.Charting.ChartArea(); //control.Apperence.ChartAreaList[0].SetChartArea(ChartArea); //PMSChartArea pca = new PMSChartArea(ChartArea); //form1.SqlSource.ChartAreaList[0] = pca; // Apperence = form1.SqlSource.Clone(); control.SelectRecordFields = form1.SqlSource.YAixs; control.XRecordField = form1.XAixs; if (null != Site) { IComponentChangeService cs = Site.GetService(typeof(IComponentChangeService)) as IComponentChangeService; if (null != cs) { cs.OnComponentChanged(this, null, null, null); } } } else { Apperence = ds; } } }