1组件源程序说明书宏有软件公司组件名称井结构显示组件组件编号设计人石玉宇开发人李阳、曹紫斌、周学芳完成时间2009-9-8审核人李阳1.概述根据井号从数据库中提供描述信息生成井身结构图并显示。2.功能描述1、支持井身结构图绘制根据显示区域大小自适应;2、支持绘制表层、技套一、技套二、技套三、油套、技套、尾管、表套、裸眼、套管外径、套管下深、下入深度、水泥返深、实际水泥返深、井身结构参数;3、支持本地保存功能(右键菜单);3.输入/输出说明3.1.接口实现类说明:///summary///井结构绘制组件接口实现////summarypublicclassDrawWellProvider:ClassDefine.IComponent{#region字段privateDataComponent.DataSourceManagerImplvDataSourceManagerImpl;///summary///井结构绘制窗体实例////summaryprivateWellStructDisplay_ui;privateDataTable_dataSource;privateControl_container;#endregion#region属性///summary2组件源程序说明书宏有软件公司///接口实现类的属性,用来接收服务端得数据////summary//数据源IDpublicstringSJYID{get;set;}publicDataSourceManagerImplDATASOURCEMANAGER{get;set;}#endregion#regionIComponent成员///summary///组件初始化////summary///paramname=Parameter组件初始化参数/param///returns成功与否/returnspublicstringInitialize(stringinit){vDataSourceManagerImpl=newDataComponent.DataSourceManagerImpl();vDataSourceManagerImpl=DATASOURCEMANAGER;//vDataSourceManagerImpl.SetPropertyValue(SjyID,SJYID);////vDataSourceManagerImpl.Invoke(INVOKSTRING);//vDataSourceManagerImpl.Invoke(SetQueryDataParameter,//ParamInfoFilterStrSJYID=5050,5051;P_JH1=百泉1/FilterStr/ParamInfo);vDataSourceManagerImpl.QueryDataEvent+=newClassDefine.QueryDataDelegate(vDataSourceManagerImpl_QueryDataEvent);3组件源程序说明书宏有软件公司BindingSourcevbs=(BindingSource)vDataSourceManagerImpl.GetDataSource(SJYID);DataTable_dataSource=(DataTable)vbs.DataSource;if(_dataSource==null)return数据源加载出错;else{DataTablevdata=_dataSource;//(DataSet)vbs.DataSource;ValiData_vali=newValiData();_vali.getdata(vdata);//用来判断DataSet中数据是否是丼结构需要的业务数据。if(_vali.getdata(vdata)!=null){if(_container!=null){_ui=newWellStructDisplay(vdata);_ui.TopLevel=false;_ui.Parent=_container;Resize(_ui.Parent.Width,_ui.Parent.Height);Position(_ui.Parent.Left,_ui.Parent.Top);_ui.Dock=DockStyle.Fill;_ui.Show();returntrue;}else{return获得容器失败;}//SetVisible(true);//Resize(_ui.Parent.Width,_ui.Parent.Height);//Position(_ui.Parent.Left,_ui.Parent.Top);//_ui.Show();//return初始化成功;}else{returnnull;}}returnnull;4组件源程序说明书宏有软件公司}///summary///获得组件产生事件后,事件包含的参数值。一般由客户端框架进行调用。////summary///returns事件参数值/returnspublicstringGetEventParameter(){returnnull;}///summary///获得组件实例的唯一句柄////summary///returns句柄/returnspublicintGetHandle(){if(_ui!=null)return(int)_ui.Handle;else{MessageBox.Show(未得到井结构窗体实例,错误);return0;}}///summary///获取组件高度////summary///returns组件高度/returnspublicintGetHeight(){if(_ui!=null)return_ui.Height;else{MessageBox.Show(未得到井结构窗体实例,错误);return0;}}///summary///获得组件的唯一标识符////summary5组件源程序说明书宏有软件公司///returns组件的唯一标识符/returnspublicstringGetIdentifier(){returnnull;}///summary///获取组件左上角X坐标////summary///returnsX坐标/returnspublicintGetLeft(){if(_ui!=null)return_ui.Left;else{MessageBox.Show(未得到井结构窗体实例,错误);return0;}}///summary///获取组件左上角Y坐标////summary///returnsY坐标/returnspublicintGetTop(){if(_ui!=null)return_ui.Top;else{MessageBox.Show(未得到井结构窗体实例,错误);return0;}}///summary///获取组件可视状态////summary///returns是否可视/returnspublicboolGetVisible(){if(_ui!=null)return_ui.Visible;else6组件源程序说明书宏有软件公司{MessageBox.Show(未得到井结构窗体实例,错误);returnfalse;}}///summary///获取组件宽度////summary///returns组件宽度/returnspublicintGetWidth(){if(_ui!=null)return_ui.Width;else{MessageBox.Show(未得到井结构窗体实例,错误);return0;}}///summary///执行组件中的方法////summary///paramname=MethodName方法名/param///paramname=Parameter方法附带的参数/param///returns执行方法后返回的结果/returnspublicstringInvoke(stringmethodName,stringparameter){//switch(methodName)//{//case://caseBuildReport://caseSaveReport://default://}returnnull;}///summary///设置组件位置////summary///paramname=left左上角X坐标/param///paramname=top左上角Y坐标/param7组件源程序说明书宏有软件公司publicvoidPosition(intleft,inttop){if(_ui!=null){_ui.Left=left;_ui.Top=top;}elseMessageBox.Show(未得到井结构窗体实例,错误);}///summary///重新绘制组件////summarypublicvoidRedraw(){_ui.Update();}///summary///改变组件尺寸。////summary///paramname=width组件宽度/param///paramname=height组件高度/parampublicvoidResize(intwidth,intheight){if(_ui!=null){_ui.Width=width;_ui.Height=height;}elseMessageBox.Show(未得到井结构窗体实例,错误);}///summary///为组件实例设置所属容器////summary///paramname=Container容器实例/parampublicvoidSetContainer(Controlcontainer){if(container!=null){{8组件源程序说明书宏有软件公司_container=container;}}///summary///获得组件实例的唯一句柄////summary///returns句柄/returnspublicvoidSetHandle(intHandle){//}///summary///设置组件属性值////summary///paramname=PropertyName属性名/param///paramname=PropertyValue属性值/parampublicstringSetPropertyValue(stringPropertyName,objectPropertyValue){if(PropertyName==null||PropertyValue==null)returnnull;switch(PropertyName.ToLower()){casesjyid:this.SJYID=PropertyValue.ToString();break;//casedataSource://this.DataSource=PropertyValue;//break;casecontrol:this.CONTAINER=(System.Windows.Forms.Control)PropertyValue;break;casedatasourcemanager:this.DATASOURCEMANAGER=(DataSourceManagerImpl)PropertyValue;break;}9组件源程序说明书宏有软件公司returntrue;}///summary///设置组件可视状态////summary///paramname=Visible是否可视/parampublicvoi