ZKShow.cs
上传用户:chizxy
上传日期:2014-11-29
资源大小:407k
文件大小:47k
源码类别:

其他行业

开发平台:

C#

  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. using System.Data.SqlClient;
  8. namespace MKIms3
  9. {
  10. /// <summary>
  11. /// ZKShow 的摘要说明。
  12. /// </summary>
  13. public class ZKShow : System.Windows.Forms.Form
  14. {
  15. private double k_x;
  16. private double k_y;
  17. private double k_z;
  18. private double k_h;
  19. private string k_com;
  20. private DateTime k_date;
  21. private string k_other;
  22. private string k_lay;
  23. private int kong_id; //钻孔在数据库中的编号,用来更新用。
  24. private string k_id; //钻孔的文字编号 *-*;
  25. private DataSet Ceng_DataSet;
  26. private DataGridTableStyle GridTableStyle;
  27. private SuperMapLib.soRecordset myRecordset;  //剖面示意图的纪录集
  28. /// <summary>
  29. /// 煤层的上下两层填充物
  30. /// </summary>
  31. public struct lay_Region
  32. {
  33. public int ding; //顶板填充代码
  34. public int di;   //底板填充代码
  35. public SuperMapLib.soGeoRegion lay_up_Region; //上下两层填充物
  36. public SuperMapLib.soGeoRegion lay_down_Region; //上下两层填充物
  37. public lay_Region(int ding,int di)
  38. {
  39. this.ding = ding ;
  40. this.di = di;
  41. this.lay_down_Region = new SuperMapLib.soGeoRegionClass();
  42. this.lay_up_Region = new SuperMapLib.soGeoRegionClass();
  43. }
  44. }
  45. #region 系统自己定义的字段
  46. private System.Windows.Forms.GroupBox groupBox_kong;
  47. private System.Windows.Forms.TextBox txt_other;
  48. private System.Windows.Forms.TextBox txt_com;
  49. private System.Windows.Forms.Label label6;
  50. private System.Windows.Forms.Label label3;
  51. private System.Windows.Forms.Label label2;
  52. private System.Windows.Forms.Label label8;
  53. private System.Windows.Forms.Label label9;
  54. private System.Windows.Forms.Label label4;
  55. private System.Windows.Forms.Label label1;
  56. private System.Windows.Forms.TextBox txt_No;
  57. private System.Windows.Forms.TextBox txt_lay;
  58. private System.Windows.Forms.Label label5;
  59. private System.Windows.Forms.Label label7;
  60. private System.Windows.Forms.ToolBarButton toolBarButton_xiao;
  61. private System.Windows.Forms.ToolBarButton toolBarButton_da;
  62. private System.Windows.Forms.ToolBarButton toolBarButton_pan;
  63. private System.Windows.Forms.ImageList imageList_tool;
  64. private System.Windows.Forms.GroupBox groupBox_ceng;
  65. private System.Windows.Forms.ToolBarButton toolBarButton_full;
  66. private System.Windows.Forms.GroupBox groupBox_pou;
  67. private AxSuperMapLib.AxSuperMap axSuperMap1;
  68. private System.Windows.Forms.Button btn_ok;
  69. private System.Windows.Forms.Label label10;
  70. private System.Windows.Forms.DataGrid dataGrid_lay;
  71. private System.Windows.Forms.ToolBar toolBar_tool;
  72. private System.Windows.Forms.Panel panel1;
  73. private System.Windows.Forms.NumericUpDown numericUpDown_x;
  74. private System.Windows.Forms.NumericUpDown numericUpDown_y;
  75. private System.Windows.Forms.NumericUpDown numericUpDown_z;
  76. private System.Windows.Forms.NumericUpDown numericUpDown_h;
  77. private System.Windows.Forms.DateTimePicker dateTimePicker_data;
  78. private AxSuperMapLib.AxSuperWorkspace axSuperWorkspace1;
  79. private System.ComponentModel.IContainer components;
  80. #endregion
  81. public ZKShow(string k_id)
  82. {
  83. //
  84. // Windows 窗体设计器支持所必需的
  85. //
  86. InitializeComponent();
  87. //
  88. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  89. //
  90. this.k_id = k_id;
  91. }
  92. /// <summary>
  93. /// 清理所有正在使用的资源。
  94. /// </summary>
  95. protected override void Dispose( bool disposing )
  96. {
  97. if( disposing )
  98. {
  99. if(components != null)
  100. {
  101. components.Dispose();
  102. }
  103. }
  104. base.Dispose( disposing );
  105. }
  106. #region Windows 窗体设计器生成的代码
  107. /// <summary>
  108. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  109. /// 此方法的内容。
  110. /// </summary>
  111. private void InitializeComponent()
  112. {
  113. this.components = new System.ComponentModel.Container();
  114. System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(ZKShow));
  115. this.groupBox_kong = new System.Windows.Forms.GroupBox();
  116. this.dateTimePicker_data = new System.Windows.Forms.DateTimePicker();
  117. this.numericUpDown_h = new System.Windows.Forms.NumericUpDown();
  118. this.numericUpDown_z = new System.Windows.Forms.NumericUpDown();
  119. this.numericUpDown_y = new System.Windows.Forms.NumericUpDown();
  120. this.numericUpDown_x = new System.Windows.Forms.NumericUpDown();
  121. this.txt_other = new System.Windows.Forms.TextBox();
  122. this.txt_com = new System.Windows.Forms.TextBox();
  123. this.label6 = new System.Windows.Forms.Label();
  124. this.label3 = new System.Windows.Forms.Label();
  125. this.label2 = new System.Windows.Forms.Label();
  126. this.label8 = new System.Windows.Forms.Label();
  127. this.label9 = new System.Windows.Forms.Label();
  128. this.label4 = new System.Windows.Forms.Label();
  129. this.label1 = new System.Windows.Forms.Label();
  130. this.txt_No = new System.Windows.Forms.TextBox();
  131. this.txt_lay = new System.Windows.Forms.TextBox();
  132. this.label5 = new System.Windows.Forms.Label();
  133. this.label7 = new System.Windows.Forms.Label();
  134. this.toolBarButton_xiao = new System.Windows.Forms.ToolBarButton();
  135. this.toolBarButton_da = new System.Windows.Forms.ToolBarButton();
  136. this.toolBarButton_pan = new System.Windows.Forms.ToolBarButton();
  137. this.imageList_tool = new System.Windows.Forms.ImageList(this.components);
  138. this.groupBox_ceng = new System.Windows.Forms.GroupBox();
  139. this.dataGrid_lay = new System.Windows.Forms.DataGrid();
  140. this.toolBarButton_full = new System.Windows.Forms.ToolBarButton();
  141. this.groupBox_pou = new System.Windows.Forms.GroupBox();
  142. this.axSuperMap1 = new AxSuperMapLib.AxSuperMap();
  143. this.panel1 = new System.Windows.Forms.Panel();
  144. this.toolBar_tool = new System.Windows.Forms.ToolBar();
  145. this.axSuperWorkspace1 = new AxSuperMapLib.AxSuperWorkspace();
  146. this.btn_ok = new System.Windows.Forms.Button();
  147. this.label10 = new System.Windows.Forms.Label();
  148. this.groupBox_kong.SuspendLayout();
  149. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_h)).BeginInit();
  150. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_z)).BeginInit();
  151. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_y)).BeginInit();
  152. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_x)).BeginInit();
  153. this.groupBox_ceng.SuspendLayout();
  154. ((System.ComponentModel.ISupportInitialize)(this.dataGrid_lay)).BeginInit();
  155. this.groupBox_pou.SuspendLayout();
  156. ((System.ComponentModel.ISupportInitialize)(this.axSuperMap1)).BeginInit();
  157. this.panel1.SuspendLayout();
  158. ((System.ComponentModel.ISupportInitialize)(this.axSuperWorkspace1)).BeginInit();
  159. this.SuspendLayout();
  160. // 
  161. // groupBox_kong
  162. // 
  163. this.groupBox_kong.Controls.Add(this.dateTimePicker_data);
  164. this.groupBox_kong.Controls.Add(this.numericUpDown_h);
  165. this.groupBox_kong.Controls.Add(this.numericUpDown_z);
  166. this.groupBox_kong.Controls.Add(this.numericUpDown_y);
  167. this.groupBox_kong.Controls.Add(this.numericUpDown_x);
  168. this.groupBox_kong.Controls.Add(this.txt_other);
  169. this.groupBox_kong.Controls.Add(this.txt_com);
  170. this.groupBox_kong.Controls.Add(this.label6);
  171. this.groupBox_kong.Controls.Add(this.label3);
  172. this.groupBox_kong.Controls.Add(this.label2);
  173. this.groupBox_kong.Controls.Add(this.label8);
  174. this.groupBox_kong.Controls.Add(this.label9);
  175. this.groupBox_kong.Controls.Add(this.label4);
  176. this.groupBox_kong.Controls.Add(this.label1);
  177. this.groupBox_kong.Controls.Add(this.txt_No);
  178. this.groupBox_kong.Controls.Add(this.txt_lay);
  179. this.groupBox_kong.Controls.Add(this.label5);
  180. this.groupBox_kong.Controls.Add(this.label7);
  181. this.groupBox_kong.Location = new System.Drawing.Point(8, 8);
  182. this.groupBox_kong.Name = "groupBox_kong";
  183. this.groupBox_kong.Size = new System.Drawing.Size(408, 184);
  184. this.groupBox_kong.TabIndex = 3;
  185. this.groupBox_kong.TabStop = false;
  186. this.groupBox_kong.Text = "钻孔基本信息";
  187. // 
  188. // dateTimePicker_data
  189. // 
  190. this.dateTimePicker_data.Location = new System.Drawing.Point(264, 99);
  191. this.dateTimePicker_data.Name = "dateTimePicker_data";
  192. this.dateTimePicker_data.Size = new System.Drawing.Size(112, 21);
  193. this.dateTimePicker_data.TabIndex = 40;
  194. // 
  195. // numericUpDown_h
  196. // 
  197. this.numericUpDown_h.DecimalPlaces = 2;
  198. this.numericUpDown_h.Location = new System.Drawing.Point(264, 24);
  199. this.numericUpDown_h.Maximum = new System.Decimal(new int[] {
  200. 1410065407,
  201. 2,
  202. 0,
  203. 0});
  204. this.numericUpDown_h.Name = "numericUpDown_h";
  205. this.numericUpDown_h.Size = new System.Drawing.Size(128, 21);
  206. this.numericUpDown_h.TabIndex = 39;
  207. this.numericUpDown_h.ThousandsSeparator = true;
  208. // 
  209. // numericUpDown_z
  210. // 
  211. this.numericUpDown_z.DecimalPlaces = 2;
  212. this.numericUpDown_z.Location = new System.Drawing.Point(80, 96);
  213. this.numericUpDown_z.Maximum = new System.Decimal(new int[] {
  214. 1410065407,
  215. 2,
  216. 0,
  217. 0});
  218. this.numericUpDown_z.Name = "numericUpDown_z";
  219. this.numericUpDown_z.Size = new System.Drawing.Size(114, 21);
  220. this.numericUpDown_z.TabIndex = 38;
  221. this.numericUpDown_z.ThousandsSeparator = true;
  222. // 
  223. // numericUpDown_y
  224. // 
  225. this.numericUpDown_y.DecimalPlaces = 2;
  226. this.numericUpDown_y.Location = new System.Drawing.Point(80, 72);
  227. this.numericUpDown_y.Maximum = new System.Decimal(new int[] {
  228. 1410065407,
  229. 2,
  230. 0,
  231. 0});
  232. this.numericUpDown_y.Name = "numericUpDown_y";
  233. this.numericUpDown_y.Size = new System.Drawing.Size(114, 21);
  234. this.numericUpDown_y.TabIndex = 37;
  235. this.numericUpDown_y.ThousandsSeparator = true;
  236. // 
  237. // numericUpDown_x
  238. // 
  239. this.numericUpDown_x.DecimalPlaces = 2;
  240. this.numericUpDown_x.Location = new System.Drawing.Point(80, 48);
  241. this.numericUpDown_x.Maximum = new System.Decimal(new int[] {
  242. 1410065407,
  243. 2,
  244. 0,
  245. 0});
  246. this.numericUpDown_x.Name = "numericUpDown_x";
  247. this.numericUpDown_x.Size = new System.Drawing.Size(114, 21);
  248. this.numericUpDown_x.TabIndex = 36;
  249. this.numericUpDown_x.ThousandsSeparator = true;
  250. // 
  251. // txt_other
  252. // 
  253. this.txt_other.Location = new System.Drawing.Point(80, 128);
  254. this.txt_other.Multiline = true;
  255. this.txt_other.Name = "txt_other";
  256. this.txt_other.Size = new System.Drawing.Size(312, 48);
  257. this.txt_other.TabIndex = 35;
  258. this.txt_other.Text = "";
  259. // 
  260. // txt_com
  261. // 
  262. this.txt_com.Location = new System.Drawing.Point(264, 73);
  263. this.txt_com.Name = "txt_com";
  264. this.txt_com.Size = new System.Drawing.Size(128, 21);
  265. this.txt_com.TabIndex = 28;
  266. this.txt_com.Text = "";
  267. // 
  268. // label6
  269. // 
  270. this.label6.Location = new System.Drawing.Point(32, 144);
  271. this.label6.Name = "label6";
  272. this.label6.Size = new System.Drawing.Size(32, 16);
  273. this.label6.TabIndex = 23;
  274. this.label6.Text = "备注";
  275. // 
  276. // label3
  277. // 
  278. this.label3.Location = new System.Drawing.Point(208, 81);
  279. this.label3.Name = "label3";
  280. this.label3.Size = new System.Drawing.Size(56, 16);
  281. this.label3.TabIndex = 20;
  282. this.label3.Text = "施工单位";
  283. // 
  284. // label2
  285. // 
  286. this.label2.Location = new System.Drawing.Point(208, 104);
  287. this.label2.Name = "label2";
  288. this.label2.Size = new System.Drawing.Size(56, 16);
  289. this.label2.TabIndex = 19;
  290. this.label2.Text = "施工时间";
  291. // 
  292. // label8
  293. // 
  294. this.label8.Location = new System.Drawing.Point(13, 77);
  295. this.label8.Name = "label8";
  296. this.label8.Size = new System.Drawing.Size(64, 16);
  297. this.label8.TabIndex = 25;
  298. this.label8.Text = "孔口坐标Y";
  299. // 
  300. // label9
  301. // 
  302. this.label9.Location = new System.Drawing.Point(12, 102);
  303. this.label9.Name = "label9";
  304. this.label9.Size = new System.Drawing.Size(62, 16);
  305. this.label9.TabIndex = 26;
  306. this.label9.Text = "孔口坐标Z";
  307. // 
  308. // label4
  309. // 
  310. this.label4.Location = new System.Drawing.Point(208, 30);
  311. this.label4.Name = "label4";
  312. this.label4.Size = new System.Drawing.Size(56, 16);
  313. this.label4.TabIndex = 21;
  314. this.label4.Text = "终孔深度";
  315. // 
  316. // label1
  317. // 
  318. this.label1.Location = new System.Drawing.Point(22, 29);
  319. this.label1.Name = "label1";
  320. this.label1.Size = new System.Drawing.Size(56, 17);
  321. this.label1.TabIndex = 18;
  322. this.label1.Text = "钻孔编号";
  323. // 
  324. // txt_No
  325. // 
  326. this.txt_No.Location = new System.Drawing.Point(80, 23);
  327. this.txt_No.Name = "txt_No";
  328. this.txt_No.ReadOnly = true;
  329. this.txt_No.Size = new System.Drawing.Size(114, 21);
  330. this.txt_No.TabIndex = 27;
  331. this.txt_No.Text = "";
  332. // 
  333. // txt_lay
  334. // 
  335. this.txt_lay.Location = new System.Drawing.Point(264, 48);
  336. this.txt_lay.Name = "txt_lay";
  337. this.txt_lay.Size = new System.Drawing.Size(128, 21);
  338. this.txt_lay.TabIndex = 30;
  339. this.txt_lay.Text = "";
  340. // 
  341. // label5
  342. // 
  343. this.label5.Location = new System.Drawing.Point(208, 54);
  344. this.label5.Name = "label5";
  345. this.label5.Size = new System.Drawing.Size(56, 16);
  346. this.label5.TabIndex = 22;
  347. this.label5.Text = "终孔层位";
  348. // 
  349. // label7
  350. // 
  351. this.label7.Location = new System.Drawing.Point(14, 53);
  352. this.label7.Name = "label7";
  353. this.label7.Size = new System.Drawing.Size(66, 17);
  354. this.label7.TabIndex = 24;
  355. this.label7.Text = "孔口坐标X";
  356. // 
  357. // toolBarButton_xiao
  358. // 
  359. this.toolBarButton_xiao.ImageIndex = 1;
  360. this.toolBarButton_xiao.ToolTipText = "缩小";
  361. // 
  362. // toolBarButton_da
  363. // 
  364. this.toolBarButton_da.ImageIndex = 0;
  365. this.toolBarButton_da.ToolTipText = "放大";
  366. // 
  367. // toolBarButton_pan
  368. // 
  369. this.toolBarButton_pan.ImageIndex = 2;
  370. this.toolBarButton_pan.ToolTipText = "平移";
  371. // 
  372. // imageList_tool
  373. // 
  374. this.imageList_tool.ImageSize = new System.Drawing.Size(16, 16);
  375. this.imageList_tool.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList_tool.ImageStream")));
  376. this.imageList_tool.TransparentColor = System.Drawing.Color.Transparent;
  377. // 
  378. // groupBox_ceng
  379. // 
  380. this.groupBox_ceng.Controls.Add(this.dataGrid_lay);
  381. this.groupBox_ceng.Location = new System.Drawing.Point(8, 200);
  382. this.groupBox_ceng.Name = "groupBox_ceng";
  383. this.groupBox_ceng.Size = new System.Drawing.Size(408, 192);
  384. this.groupBox_ceng.TabIndex = 5;
  385. this.groupBox_ceng.TabStop = false;
  386. this.groupBox_ceng.Text = "钻孔煤层信息";
  387. // 
  388. // dataGrid_lay
  389. // 
  390. this.dataGrid_lay.AlternatingBackColor = System.Drawing.SystemColors.Info;
  391. this.dataGrid_lay.CaptionText = "F  ";
  392. this.dataGrid_lay.CaptionVisible = false;
  393. this.dataGrid_lay.DataMember = "";
  394. this.dataGrid_lay.Dock = System.Windows.Forms.DockStyle.Fill;
  395. this.dataGrid_lay.FlatMode = true;
  396. this.dataGrid_lay.GridLineStyle = System.Windows.Forms.DataGridLineStyle.None;
  397. this.dataGrid_lay.HeaderForeColor = System.Drawing.SystemColors.ControlText;
  398. this.dataGrid_lay.Location = new System.Drawing.Point(3, 17);
  399. this.dataGrid_lay.Name = "dataGrid_lay";
  400. this.dataGrid_lay.Size = new System.Drawing.Size(402, 172);
  401. this.dataGrid_lay.TabIndex = 0;
  402. // 
  403. // toolBarButton_full
  404. // 
  405. this.toolBarButton_full.ImageIndex = 3;
  406. this.toolBarButton_full.ToolTipText = "全屏";
  407. // 
  408. // groupBox_pou
  409. // 
  410. this.groupBox_pou.Controls.Add(this.axSuperMap1);
  411. this.groupBox_pou.Controls.Add(this.panel1);
  412. this.groupBox_pou.Controls.Add(this.axSuperWorkspace1);
  413. this.groupBox_pou.Location = new System.Drawing.Point(420, 8);
  414. this.groupBox_pou.Name = "groupBox_pou";
  415. this.groupBox_pou.Size = new System.Drawing.Size(320, 409);
  416. this.groupBox_pou.TabIndex = 6;
  417. this.groupBox_pou.TabStop = false;
  418. this.groupBox_pou.Text = "钻孔剖面示意图";
  419. // 
  420. // axSuperMap1
  421. // 
  422. this.axSuperMap1.ContainingControl = this;
  423. this.axSuperMap1.Dock = System.Windows.Forms.DockStyle.Fill;
  424. this.axSuperMap1.Enabled = true;
  425. this.axSuperMap1.Location = new System.Drawing.Point(3, 48);
  426. this.axSuperMap1.Name = "axSuperMap1";
  427. this.axSuperMap1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axSuperMap1.OcxState")));
  428. this.axSuperMap1.Size = new System.Drawing.Size(314, 358);
  429. this.axSuperMap1.TabIndex = 1;
  430. this.axSuperMap1.MouseWheelEvent += new AxSuperMapLib._DSuperMapEvents_MouseWheelEventHandler(this.axSuperMap1_MouseWheelEvent);
  431. // 
  432. // panel1
  433. // 
  434. this.panel1.Controls.Add(this.toolBar_tool);
  435. this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
  436. this.panel1.Location = new System.Drawing.Point(3, 17);
  437. this.panel1.Name = "panel1";
  438. this.panel1.Size = new System.Drawing.Size(314, 31);
  439. this.panel1.TabIndex = 3;
  440. // 
  441. // toolBar_tool
  442. // 
  443. this.toolBar_tool.Appearance = System.Windows.Forms.ToolBarAppearance.Flat;
  444. this.toolBar_tool.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
  445. this.toolBar_tool.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] {
  446. this.toolBarButton_da,
  447. this.toolBarButton_xiao,
  448. this.toolBarButton_pan,
  449. this.toolBarButton_full});
  450. this.toolBar_tool.ButtonSize = new System.Drawing.Size(16, 16);
  451. this.toolBar_tool.DropDownArrows = true;
  452. this.toolBar_tool.ImageList = this.imageList_tool;
  453. this.toolBar_tool.Location = new System.Drawing.Point(0, 0);
  454. this.toolBar_tool.Name = "toolBar_tool";
  455. this.toolBar_tool.ShowToolTips = true;
  456. this.toolBar_tool.Size = new System.Drawing.Size(314, 29);
  457. this.toolBar_tool.TabIndex = 2;
  458. this.toolBar_tool.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar_tool_ButtonClick);
  459. // 
  460. // axSuperWorkspace1
  461. // 
  462. this.axSuperWorkspace1.ContainingControl = this;
  463. this.axSuperWorkspace1.Enabled = true;
  464. this.axSuperWorkspace1.Location = new System.Drawing.Point(64, 128);
  465. this.axSuperWorkspace1.Name = "axSuperWorkspace1";
  466. this.axSuperWorkspace1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axSuperWorkspace1.OcxState")));
  467. this.axSuperWorkspace1.Size = new System.Drawing.Size(32, 32);
  468. this.axSuperWorkspace1.TabIndex = 4;
  469. // 
  470. // btn_ok
  471. // 
  472. this.btn_ok.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
  473. this.btn_ok.Location = new System.Drawing.Point(337, 396);
  474. this.btn_ok.Name = "btn_ok";
  475. this.btn_ok.Size = new System.Drawing.Size(71, 25);
  476. this.btn_ok.TabIndex = 7;
  477. this.btn_ok.Text = "提交修改";
  478. this.btn_ok.Click += new System.EventHandler(this.btn_ok_Click);
  479. // 
  480. // label10
  481. // 
  482. this.label10.Location = new System.Drawing.Point(8, 403);
  483. this.label10.Name = "label10";
  484. this.label10.Size = new System.Drawing.Size(328, 23);
  485. this.label10.TabIndex = 8;
  486. this.label10.Text = "系统提示:如果您修改了有关数据,请单击右边的按钮提交";
  487. // 
  488. // ZKShow
  489. // 
  490. this.AcceptButton = this.btn_ok;
  491. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  492. this.ClientSize = new System.Drawing.Size(746, 421);
  493. this.Controls.Add(this.label10);
  494. this.Controls.Add(this.btn_ok);
  495. this.Controls.Add(this.groupBox_kong);
  496. this.Controls.Add(this.groupBox_ceng);
  497. this.Controls.Add(this.groupBox_pou);
  498. this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
  499. this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
  500. this.Name = "ZKShow";
  501. this.ShowInTaskbar = false;
  502. this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
  503. this.Text = "钻孔详细信息";
  504. this.Closing += new System.ComponentModel.CancelEventHandler(this.ZKShow_Closing);
  505. this.Load += new System.EventHandler(this.ZKShow_Load);
  506. this.groupBox_kong.ResumeLayout(false);
  507. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_h)).EndInit();
  508. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_z)).EndInit();
  509. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_y)).EndInit();
  510. ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_x)).EndInit();
  511. this.groupBox_ceng.ResumeLayout(false);
  512. ((System.ComponentModel.ISupportInitialize)(this.dataGrid_lay)).EndInit();
  513. this.groupBox_pou.ResumeLayout(false);
  514. ((System.ComponentModel.ISupportInitialize)(this.axSuperMap1)).EndInit();
  515. this.panel1.ResumeLayout(false);
  516. ((System.ComponentModel.ISupportInitialize)(this.axSuperWorkspace1)).EndInit();
  517. this.ResumeLayout(false);
  518. }
  519. #endregion
  520. private void ZKShow_Load(object sender, System.EventArgs e)
  521. {
  522. if(App.u_flag!=(int)flag.admin)
  523. {
  524. user_admin();
  525. }
  526. get_fill_file();
  527.   get_kong_info(k_id);
  528. get_ceng_info(k_id);
  529. Draw_lay(Ceng_DataSet);
  530. theme();
  531. this.axSuperMap1.ViewEntire();
  532. this.axSuperMap1.CtlRefresh();
  533. }
  534. private void toolBar_tool_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
  535. {
  536. switch(this.toolBar_tool.Buttons.IndexOf(e.Button))
  537. {
  538. case 0:
  539. this.axSuperMap1.Action = SuperMapLib.seAction.scaZoomIn;
  540. break;
  541. case 1:
  542. this.axSuperMap1.Action = SuperMapLib.seAction.scaZoomOut;
  543. break;
  544. case 2:
  545. this.axSuperMap1.Action = SuperMapLib.seAction.scaPan;
  546. break;
  547. case 3:
  548. this.axSuperMap1.ViewEntire();;
  549. break;
  550. }
  551. }
  552. private void axSuperMap1_MouseWheelEvent(object sender, AxSuperMapLib._DSuperMapEvents_MouseWheelEvent e)
  553. {
  554. if((int)e.zDelta > 0 )
  555. {
  556. this.axSuperMap1.Zoom(1.2);
  557. this.axSuperMap1.CtlRefresh();
  558. }
  559. else
  560. {
  561. this.axSuperMap1.Zoom(0.8);
  562. this.axSuperMap1.CtlRefresh();
  563. }
  564. }
  565. private void ZKShow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
  566. {
  567. this.axSuperMap1.Disconnect();
  568. this.axSuperWorkspace1.Close();
  569. }
  570. private void btn_ok_Click(object sender, System.EventArgs e)
  571. {
  572. get_value();//先得到需要的信息
  573. if(kong_change() && lay_change())
  574. {
  575. MessageBox.Show("钻孔信息修改成功!","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Information);
  576. }
  577. }
  578. #region 根据传递过来的钻孔编号得到钻孔的基本信息
  579. /// <summary>
  580. /// 得到钻孔的基本信息
  581. /// </summary>
  582. /// <param name="k_id">钻孔的文字标号</param>
  583. private void get_kong_info(string k_id)
  584. {
  585. DataBase myDB = new DataBase();
  586. SqlDataReader myReader;
  587. SqlParameter[] myParamers={new SqlParameter("@k_id",SqlDbType.Char,10)} ;
  588. myParamers[0].Value = k_id;
  589. myReader = myDB.RunProcedure("up_get_kong_info",myParamers);
  590. if(myReader!=null)
  591. {
  592. //开始填充相关地图  
  593. if(myReader.HasRows == true)
  594. {   
  595. myReader.Read();
  596. this.kong_id = Convert.ToInt32(myReader["序号"]);
  597. this.txt_other.Text = myReader["备注"].ToString().Trim();
  598. this.txt_No.Text = myReader["钻孔编号"].ToString().Trim();
  599. this.txt_lay.Text = myReader["终孔层位"].ToString().Trim();
  600. this.txt_com.Text = myReader["施工单位"].ToString().Trim();
  601. this.numericUpDown_x.Value = Convert.ToDecimal(myReader["孔口X坐标"]);
  602. this.numericUpDown_y.Value = Convert.ToDecimal(myReader["孔口Y坐标"]);
  603. this.numericUpDown_z.Value = Convert.ToDecimal(myReader["孔口Z坐标"]);
  604. this.numericUpDown_h.Value = Convert.ToDecimal(myReader["终孔深度"]);
  605. this.dateTimePicker_data.Value = (DateTime)myReader["施工时间"];
  606. myReader.Close();
  607. }
  608. else
  609. {
  610. MessageBox.Show("没有该钻孔的相关信息","错误信息",MessageBoxButtons.OK,MessageBoxIcon.Warning);
  611. }
  612. }
  613. }
  614. /// <summary>
  615. /// 显示相关钻孔的煤层信息,填充datagrid
  616. /// </summary>
  617. /// <param name="k_id"></param>
  618. private void get_ceng_info(string k_id)
  619. {
  620. DataBase myDB = new DataBase();
  621. Ceng_DataSet = new DataSet();
  622. SqlParameter[] myParamers={new SqlParameter("@k_id",SqlDbType.Char,10)} ;
  623. myParamers[0].Value = k_id;
  624. Ceng_DataSet = myDB.RunProcedure("up_get_ceng_info",myParamers,"cenginfo");
  625. if(Ceng_DataSet!=null)
  626. {
  627. this.Ceng_DataSet.Tables[0].Columns["钻孔序号"].DefaultValue = this.kong_id;
  628. addstyle(Ceng_DataSet);
  629. this.dataGrid_lay.SetDataBinding(Ceng_DataSet,"cenginfo");
  630. }
  631. else
  632. {
  633. MessageBox.Show("没有该钻孔的相关信息");
  634. }
  635. }
  636. /// <summary>
  637. /// 添加datagrid的列标题  
  638. /// </summary>
  639. /// <param name="myset">层信息的dataset</param>
  640. private void addstyle(DataSet Ceng_DataSet)
  641. {
  642. DataSet yanset = new DataSet();
  643. DataBase myDB = new DataBase();
  644. yanset = myDB.RunProcedure("get_yanxin","yan");
  645. CurrencyManager objcengCM;
  646. GridTableStyle = new DataGridTableStyle();
  647. GridTableStyle.MappingName = "cenginfo";
  648. objcengCM = (System.Windows.Forms.CurrencyManager)this.BindingContext[Ceng_DataSet.Tables[0]];
  649. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["煤层名称"]));
  650. GridTableStyle.GridColumnStyles[0].MappingName = "煤层名称";
  651. GridTableStyle.GridColumnStyles[0].HeaderText = "煤层名称";
  652. GridTableStyle.GridColumnStyles[0].Alignment = HorizontalAlignment.Left;
  653. GridTableStyle.GridColumnStyles[0].NullText = string.Empty;
  654. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["止煤深度"]));
  655. GridTableStyle.GridColumnStyles[1].MappingName = "止煤深度";
  656. GridTableStyle.GridColumnStyles[1].HeaderText = "止煤深度";
  657. GridTableStyle.GridColumnStyles[1].Alignment = HorizontalAlignment.Left;
  658. GridTableStyle.GridColumnStyles[1].NullText = string.Empty;
  659. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["底板坐标x"]));
  660. GridTableStyle.GridColumnStyles[2].MappingName = "底板坐标x";
  661. GridTableStyle.GridColumnStyles[2].HeaderText = "底板坐标x";
  662. GridTableStyle.GridColumnStyles[2].Alignment = HorizontalAlignment.Left;
  663. GridTableStyle.GridColumnStyles[2].NullText = string.Empty;
  664. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["底板坐标y"]));
  665. GridTableStyle.GridColumnStyles[3].MappingName = "底板坐标y";
  666. GridTableStyle.GridColumnStyles[3].HeaderText = "底板坐标y";
  667. GridTableStyle.GridColumnStyles[3].Alignment = HorizontalAlignment.Left;
  668. GridTableStyle.GridColumnStyles[3].NullText = string.Empty;
  669.               
  670. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["底板坐标z"]));
  671. GridTableStyle.GridColumnStyles[4].MappingName = "底板坐标z";
  672. GridTableStyle.GridColumnStyles[4].HeaderText = "底板坐标z";
  673. GridTableStyle.GridColumnStyles[4].Alignment = HorizontalAlignment.Left;
  674. GridTableStyle.GridColumnStyles[4].NullText = string.Empty;
  675. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["煤层伪厚"]));
  676. GridTableStyle.GridColumnStyles[5].MappingName = "煤层伪厚";
  677. GridTableStyle.GridColumnStyles[5].HeaderText = "煤层伪厚";
  678. GridTableStyle.GridColumnStyles[5].Alignment = HorizontalAlignment.Left;
  679. GridTableStyle.GridColumnStyles[5].NullText = string.Empty;
  680. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["利用厚度"]));
  681. GridTableStyle.GridColumnStyles[6].MappingName = "利用厚度";
  682. GridTableStyle.GridColumnStyles[6].HeaderText = "利用厚度";
  683. GridTableStyle.GridColumnStyles[6].Alignment = HorizontalAlignment.Left;
  684. GridTableStyle.GridColumnStyles[6].NullText = string.Empty;
  685. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["煤层倾角"]));
  686. GridTableStyle.GridColumnStyles[7].MappingName = "煤层倾角";
  687. GridTableStyle.GridColumnStyles[7].HeaderText = "煤层倾角";
  688. GridTableStyle.GridColumnStyles[7].Alignment = HorizontalAlignment.Left;
  689. GridTableStyle.GridColumnStyles[7].NullText = string.Empty;
  690. GridTableStyle.GridColumnStyles.Add(new DataGridComboBoxColumn(yanset.Tables["yan"],0,0));
  691. GridTableStyle.GridColumnStyles[8].MappingName = "顶板岩性";
  692. GridTableStyle.GridColumnStyles[8].HeaderText = "顶板岩性";
  693. GridTableStyle.GridColumnStyles[8].Alignment = HorizontalAlignment.Left;
  694. GridTableStyle.GridColumnStyles[8].NullText = string.Empty;
  695. GridTableStyle.GridColumnStyles.Add(new DataGridComboBoxColumn(yanset.Tables["yan"],0,0));
  696. GridTableStyle.GridColumnStyles[9].MappingName = "底板岩性";
  697. GridTableStyle.GridColumnStyles[9].HeaderText = "底板岩性";
  698. GridTableStyle.GridColumnStyles[9].Alignment = HorizontalAlignment.Left;
  699. GridTableStyle.GridColumnStyles[9].NullText = string.Empty;
  700. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["等级"]));
  701. GridTableStyle.GridColumnStyles[10].MappingName = "等级";
  702. GridTableStyle.GridColumnStyles[10].HeaderText = "等级";
  703. GridTableStyle.GridColumnStyles[10].Alignment = HorizontalAlignment.Left;
  704. GridTableStyle.GridColumnStyles[10].NullText = string.Empty;
  705. this.dataGrid_lay.TableStyles.Add(this.GridTableStyle);
  706. //这个可以不加的!!
  707. GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["钻孔序号"]));
  708. GridTableStyle.GridColumnStyles[11].MappingName = "钻孔序号";
  709. GridTableStyle.GridColumnStyles[11].HeaderText = "钻孔序号";
  710. GridTableStyle.GridColumnStyles[11].Alignment = HorizontalAlignment.Left;
  711. GridTableStyle.GridColumnStyles[11].Width =0; //隐藏起来不让用户输入
  712. GridTableStyle.GridColumnStyles[11].NullText = this.kong_id.ToString();
  713. GridTableStyle.GridColumnStyles[11].ReadOnly = true;
  714. }
  715. #endregion
  716. #region 根据钻孔的煤层信息画出简单的剖面示意图
  717. /// <summary>
  718. /// 打开空白的文件
  719. /// </summary>
  720. /// <returns>返回打开的纪录集,失败返回空</returns>
  721. private SuperMapLib.soRecordset get_Recordset()
  722. {
  723. SuperMapLib.soRecordset temp_Recordset;
  724. SuperMapLib.soDatasetVector myV;
  725. SuperMapLib.soStrings myString;
  726. SuperMapLib.soDataSource myDatasource;
  727. myString=new SuperMapLib.soStringsClass();
  728. this.axSuperMap1.Connect(this.axSuperWorkspace1.CtlHandle);
  729. myDatasource=this.axSuperWorkspace1.OpenDataSource(Application.StartupPath+"\temp.sdb","temp",SuperMapLib.seEngineType.sceSDBPlus,false);
  730. if(myDatasource!=null)
  731. {
  732. SuperMapLib.soDatasets myDatasets= myDatasource.Datasets;
  733. for(int i=1;i<=myDatasets.Count;i++)
  734. {
  735. this.axSuperMap1.Layers.AddDataset(myDatasets[i],true);
  736. }
  737. myString.Add("*");
  738. myV = (SuperMapLib.soDatasetVector)myDatasource.Datasets["Region"];
  739. temp_Recordset = myV.Query("",true,myString,"");
  740. if(temp_Recordset.RecordCount>0)
  741. {
  742. temp_Recordset.DeleteAll();  //先清除所有的纪录
  743. temp_Recordset.Update();
  744. }
  745. return temp_Recordset;
  746. }
  747. else
  748. {
  749. return null;
  750. }
  751. }
  752. /// <summary>
  753. /// 得到钻孔边框的几何对象
  754. /// </summary>
  755. /// <param name="j_high">孔的高度</param>
  756. /// <param name="j_z">孔口Z坐标</param>
  757. /// <returns>SuperMapLib.soGeoRegion</returns>
  758. private SuperMapLib.soGeoRegion get_kong_Region(double j_high,double j_z)
  759. {
  760. SuperMapLib.soGeoRegion myRegion;
  761. SuperMapLib.soPoints myPoints;
  762. myPoints = new SuperMapLib.soPointsClass();
  763. myRegion = new SuperMapLib.soGeoRegionClass();
  764. //1.1 生成井边框多边形。
  765. myPoints.Add2(10,j_z+10);
  766. myPoints.Add2(20,j_z);
  767. myPoints.Add2(20,j_z-j_high);
  768. myPoints.Add2(0,j_z-j_high);
  769. myPoints.Add2(0,j_z);
  770. myPoints.Add2(10,j_z+10);
  771. myRegion.AddPart(myPoints);
  772. return myRegion;
  773. }
  774. /// <summary>
  775. /// 得到煤层的几何对象
  776. /// </summary>
  777. /// <param name="ceng_h">煤层的厚度</param>
  778. /// <param name="ceng_z">煤层的Z坐标</param>
  779. /// <returns>几何对象   SuperMapLib.soGeoRegion</returns>
  780. private  SuperMapLib.soGeoRegion get_ceng_Region(double ceng_h,double ceng_z)
  781. {
  782. SuperMapLib.soGeoRegion ceng_Region = new SuperMapLib.soGeoRegionClass();
  783. SuperMapLib.soPoints myPoints = new SuperMapLib.soPointsClass();
  784. myPoints.Add2(0,ceng_z);
  785. myPoints.Add2(20,ceng_z);
  786. myPoints.Add2(20,ceng_z-ceng_h);
  787. myPoints.Add2(0,ceng_z-ceng_h);
  788. myPoints.Add2(0,ceng_z);
  789. ceng_Region.AddPart(myPoints);
  790. return ceng_Region;
  791. }
  792. /// <summary>
  793. /// 返回煤层的顶板和底板填充信息的结构体。
  794. /// </summary>
  795. /// <param name="up_t">顶板岩性</param>
  796. /// <param name="down_t">底板岩性</param>
  797. /// <param name="up_h">上高</param>
  798. /// <param name="down_h">下高</param>
  799. /// <param name="ceng">层标示 1.只有一层  2.多层的最上部分  3.多层的最下部分  4.其他的</param>
  800. /// <param name="j_h">井的高度</param>
  801. /// <param name="j_z">井的Z坐标</param>
  802. /// <param name="ceng_h">煤层的厚度</param>
  803. /// <param name="ceng_z">煤层的Z坐标</param>
  804. /// <returns></returns>
  805. private lay_Region get_ceng_fill(int up_t,int down_t,double up_h,double down_h,int ceng,double j_z,double j_h,double ceng_z,double ceng_h)
  806. {
  807. lay_Region mylay_fill = new lay_Region(up_t,down_t);
  808. switch(ceng)
  809. {
  810. case 1: //只有一层
  811. {
  812. //先画上部
  813. if(up_h>=8)
  814. { //画出折线
  815. mylay_fill.lay_up_Region.AddPart(draw_pline(ceng_z,0));
  816. //draw_pline(ceng_z,0);
  817. }
  818. else
  819. { //直接画成矩形
  820. mylay_fill.lay_up_Region.AddPart(draw_line(ceng_z,up_h,0));
  821. //draw_line(ceng_z,up_h);
  822. }
  823. //再画下部分
  824. if(down_h>=8)
  825. { //画出折线
  826. mylay_fill.lay_down_Region.AddPart(draw_pline(ceng_z,ceng_h));
  827. }
  828. else
  829. { //直接画成矩形
  830. mylay_fill.lay_down_Region.AddPart(draw_line(ceng_z,-down_h,ceng_h));
  831. }
  832. }
  833. break;
  834. case 2: //多层的最上层
  835. {
  836. //画上部
  837. if(up_h>=8)
  838. { //画出折线
  839. mylay_fill.lay_up_Region.AddPart(draw_pline(ceng_z,0));
  840. }
  841. else
  842. { //直接画成矩形
  843. mylay_fill.lay_up_Region.AddPart(draw_line(ceng_z,up_h,0));
  844. }
  845. //再画下部
  846. if(down_h>=14)
  847. { //画出折线
  848. mylay_fill.lay_down_Region.AddPart(draw_pline(ceng_z,ceng_h));
  849. }
  850. else
  851. { //分成平均的两半
  852. mylay_fill.lay_down_Region.AddPart(draw_line(ceng_z,-down_h/2,ceng_h));
  853. }
  854. }
  855. break;
  856. case 3:  //多层的最下层
  857. {
  858. //先画上部
  859. if(up_h>=14)
  860. { //画出折线
  861. mylay_fill.lay_up_Region.AddPart(draw_pline(ceng_z,0));
  862. }
  863. else
  864. { //分成平均的两半
  865. mylay_fill.lay_up_Region.AddPart(draw_line(ceng_z,up_h/2,0));
  866. }
  867. // 再画下部分
  868. if(down_h>=8)
  869. { //画出折线
  870. mylay_fill.lay_down_Region.AddPart(draw_pline(ceng_z,ceng_h));
  871. }
  872. else
  873. { //直接画成矩形
  874. mylay_fill.lay_down_Region.AddPart(draw_line(ceng_z,-down_h,ceng_h));
  875. }
  876. }
  877. break;
  878. case 4: //多层的中间层
  879. {
  880. if(up_h>=14)
  881. { //画出折线
  882. mylay_fill.lay_up_Region.AddPart(draw_pline(ceng_z,0));
  883. }
  884. else
  885. { //分成平均的两半
  886. mylay_fill.lay_up_Region.AddPart(draw_line(ceng_z,up_h/2,0));
  887. }
  888. if(down_h>=14)
  889. { //画出折线
  890. mylay_fill.lay_down_Region.AddPart(draw_pline(ceng_z,ceng_h));
  891. }
  892. else
  893. { //分成平均的两半
  894. mylay_fill.lay_down_Region.AddPart(draw_line(ceng_z,-down_h/2,ceng_h));
  895. }
  896. }
  897. break;
  898. }
  899. return mylay_fill;
  900. }
  901. /// <summary>
  902. /// 处理直接画成矩形的情况    /如果是底板把lin_h取反
  903. /// </summary>
  904. /// <param name="ceng_z">起点坐标</param>
  905. /// <param name="lin_h">高度 如果是底板把lin_h取反</param> 
  906. /// <param name="ceng_h">该层煤的厚度。 在顶板时取0</param>
  907. /// <returns></returns>
  908. private SuperMapLib.soPoints draw_line(double ceng_z,double lin_h,double ceng_h)
  909. {
  910. SuperMapLib.soPoints myPoints= new SuperMapLib.soPointsClass();
  911. myPoints.Add2(0,ceng_z-ceng_h);
  912. myPoints.Add2(0,ceng_z+lin_h-ceng_h);
  913. myPoints.Add2(20,ceng_z+lin_h-ceng_h);
  914. myPoints.Add2(20,ceng_z-ceng_h);
  915. myPoints.Add2(0,ceng_z-ceng_h);
  916. return myPoints;
  917. }
  918. /// <summary>
  919. /// 处理画成折线的情况  如果为上部 lin_h取 0 
  920. /// </summary>
  921. /// <param name="ceng_z">起点坐标</param>
  922. /// <param name="lin_h">煤层的厚度    顶板时为0 </param> 
  923. /// <returns></returns>
  924. private SuperMapLib.soPoints draw_pline(double ceng_z,double lin_h)
  925. {
  926. SuperMapLib.soPoints myPoints= new SuperMapLib.soPointsClass();
  927. if(lin_h != 0)
  928. {
  929. myPoints.Add2(0,ceng_z-lin_h);
  930. myPoints.Add2(0,ceng_z-5-lin_h);
  931. myPoints.Add2(5,ceng_z-6-lin_h);
  932. myPoints.Add2(10,ceng_z-5-lin_h);
  933. myPoints.Add2(15,ceng_z-4-lin_h);
  934. myPoints.Add2(20,ceng_z-5-lin_h);
  935. myPoints.Add2(20,ceng_z-lin_h);
  936. myPoints.Add2(0,ceng_z-lin_h);
  937. }
  938. else
  939. {
  940. myPoints.Add2(0,ceng_z);
  941. myPoints.Add2(0,ceng_z+5);
  942. myPoints.Add2(5,ceng_z+4);
  943. myPoints.Add2(10,ceng_z+5);
  944. myPoints.Add2(15,ceng_z+6);
  945. myPoints.Add2(20,ceng_z+5);
  946. myPoints.Add2(20,ceng_z);
  947. myPoints.Add2(0,ceng_z);
  948. }
  949. return myPoints;
  950. }
  951. /// <summary>
  952. /// 跟新myrecordset 
  953. /// </summary>
  954. /// <param name="pencolor">pencolor</param>
  955. /// <param name="bushstyle">bushstyle</param>
  956. /// <param name="brushcolor">brushcolor</param>
  957. /// <param name="penwidth">penwidth</param>
  958. private void updata_Recordset(SuperMapLib.soGeoRegion myRegin,int pencolor,int bushstyle,int brushcolor,int penwidth,string txt)
  959. {
  960. myRecordset.AddNew((SuperMapLib.soGeometry)myRegin,true);
  961. myRecordset.SetFieldValue("PenColor",pencolor);  //这里加入属性数据
  962. myRecordset.SetFieldValue("BrushStyle",bushstyle);
  963. myRecordset.SetFieldValue("BrushColor",brushcolor);
  964. myRecordset.SetFieldValue("PenWidth",penwidth);
  965. myRecordset.SetFieldValue("txt",txt);
  966. myRecordset.Update();
  967. }
  968. /// <summary>
  969. /// 把填充层的信息更新到 recordset中去。
  970. /// </summary>
  971. /// <param name="up_t"></param>
  972. /// <param name="down_t"></param>
  973. /// <param name="up_h"></param>
  974. /// <param name="down_h"></param>
  975. /// <param name="ceng"></param>
  976. /// <param name="j_z"></param>
  977. /// <param name="j_h"></param>
  978. /// <param name="ceng_z"></param>
  979. /// <param name="ceng_h"></param>
  980. /// <param name="pencolor"></param>
  981. private void updata_fill(int up_t,int down_t,double up_h,double down_h,int ceng,double j_z,double j_h,double ceng_z,double ceng_h,int pencolor,string txt_di,string txt_ding)
  982. {
  983. lay_Region mylay_fill = new lay_Region(0,0);
  984. SuperMapLib.soGeoRegion myRegin = new SuperMapLib.soGeoRegionClass();
  985. mylay_fill= get_ceng_fill(up_t,down_t,up_h,down_h,ceng,j_z,j_h,ceng_z,ceng_h);
  986. myRegin =mylay_fill.lay_down_Region;
  987. updata_Recordset(myRegin,pencolor,mylay_fill.di,pencolor,1,txt_di);
  988. myRegin = mylay_fill.lay_up_Region;
  989. updata_Recordset(myRegin,pencolor,mylay_fill.ding,pencolor,1,txt_ding);
  990. }
  991. /// <summary>
  992. /// 根据查询出来的相关煤层信息把钻孔的示意图画出来。
  993. /// </summary>
  994. /// <param name="Ceng_DataSet">包含钻孔信息的dataset</param>
  995. private void Draw_lay(DataSet Ceng_DataSet)
  996. {
  997. SuperMapLib.soGeoRegion myRegin = new SuperMapLib.soGeoRegionClass();
  998. this.myRecordset = get_Recordset();
  999. if(this.myRecordset!=null)
  1000. {
  1001. double j_high =Convert.ToDouble(this.numericUpDown_h.Value);   //井的深度
  1002. double j_z = Convert.ToDouble(this.numericUpDown_z.Value); //井口Y坐标
  1003. myRegin = get_kong_Region(j_high,j_z);
  1004. //1.1 设置字段的值
  1005. int brushcolor = (int)ColorTranslator.ToOle(Color.SkyBlue);
  1006. int pencolor = (int)ColorTranslator.ToOle(Color.Black);
  1007. updata_Recordset(myRegin,pencolor,1,brushcolor,1,"");              //钻孔的填充风格
  1008. //2.0开始加入煤层信息
  1009. double ceng_h; //煤的厚度
  1010. double ceng_z; //煤的Z轴坐标
  1011. int m = Ceng_DataSet.Tables[0].Rows.Count;  //总共有多少层煤
  1012. for(int n=0;n<m;n++)
  1013. {
  1014. if(Ceng_DataSet.Tables[0].Rows[n]["煤层名称"].ToString()!="未见煤"&&Ceng_DataSet.Tables[0].Rows[n]["煤层名称"].ToString()!="煤层露头外")
  1015. {
  1016. ceng_h = Convert.ToDouble(Ceng_DataSet.Tables[0].Rows[n]["煤层伪厚"]);
  1017. ceng_z = Convert.ToDouble(Ceng_DataSet.Tables[0].Rows[n]["底板坐标z"]);
  1018. myRegin = get_ceng_Region(ceng_h,ceng_z);
  1019. string meiName = Ceng_DataSet.Tables[0].Rows[n]["煤层名称"].ToString()+"  z:"+ceng_z.ToString();
  1020. pencolor = (int)ColorTranslator.ToOle(Color.Black);
  1021. updata_Recordset(myRegin,pencolor,131,pencolor,1,meiName);  //煤层的填充风格
  1022. //到此为止 煤层信息和钻孔边框加入完毕。
  1023. //3.0加入填充物多变形
  1024. //在这里计算出每层煤上下的间隔距离
  1025. //3.1
  1026. double up_h; // 与上一层的高度差
  1027. double down_h; //与下一层的高度差
  1028. double font_h; //上一层的煤厚
  1029. double font_z;//上一层的Z坐标
  1030. double next_z ; //下一层的Z坐标
  1031. int up_t;//顶板的填充物
  1032. int down_t;//底板的填充物
  1033. //只有一层煤的情况,
  1034. //###################################################find_fill_id
  1035. up_t =Convert.ToInt32(Ceng_DataSet.Tables[0].Rows[n]["ding"]);
  1036. down_t =Convert.ToInt32(Ceng_DataSet.Tables[0].Rows[n]["di"]);
  1037. pencolor = (int)ColorTranslator.ToOle(Color.Black);
  1038. string txt_di = Ceng_DataSet.Tables[0].Rows[n]["底板岩性"].ToString();
  1039. string txt_ding = Ceng_DataSet.Tables[0].Rows[n]["顶板岩性"].ToString();
  1040. if(m==1)
  1041. { //跟钻孔的最高点和最低点比较
  1042. up_h = j_z-ceng_z;
  1043. down_h = ceng_z-ceng_h - (j_z-j_high);
  1044. updata_fill(up_t,down_t,up_h,down_h,1,j_z,j_high,ceng_z,ceng_h,pencolor,txt_di,txt_ding);
  1045. }
  1046. else  //有两层及其以上的情况
  1047. {
  1048. //1.处理最上面那层煤
  1049. if(n==0)
  1050. {
  1051. next_z = Convert.ToDouble(Ceng_DataSet.Tables[0].Rows[n+1]["底板坐标z"]);
  1052. up_h = j_z-ceng_z;
  1053. down_h = ceng_z-ceng_h - next_z;
  1054. updata_fill(up_t,down_t,up_h,down_h,2,j_z,j_high,ceng_z,ceng_h,pencolor,txt_di,txt_ding);
  1055. }
  1056. else if(n==m-1) //最下面那层
  1057. {
  1058. font_z = Convert.ToDouble(Ceng_DataSet.Tables[0].Rows[n-1]["底板坐标z"]);
  1059. font_h = Convert.ToDouble(Ceng_DataSet.Tables[0].Rows[n-1]["煤层伪厚"]);
  1060. up_h = font_z - font_h-ceng_z;
  1061. down_h = ceng_z-ceng_h - (j_z-j_high);
  1062. updata_fill(up_t,down_t,up_h,down_h,3,j_z,j_high,ceng_z,ceng_h,pencolor,txt_di,txt_ding);
  1063. }
  1064. else
  1065. {
  1066. font_z = Convert.ToDouble(Ceng_DataSet.Tables[0].Rows[n-1]["底板坐标z"]);
  1067. font_h = Convert.ToDouble(Ceng_DataSet.Tables[0].Rows[n-1]["煤层伪厚"]);
  1068. next_z = Convert.ToDouble(Ceng_DataSet.Tables[0].Rows[n+1]["底板坐标z"]);
  1069. up_h = font_z - font_h-ceng_z;
  1070. down_h = ceng_z-ceng_h - next_z;
  1071. updata_fill(up_t,down_t,up_h,down_h,4,j_z,j_high,ceng_z,ceng_h,pencolor,txt_di,txt_ding);
  1072. }
  1073. }
  1074. }
  1075. else
  1076. {
  1077. MessageBox.Show("临时文件打开失败,或者当前钻孔无煤层信息!不能绘制剖面图","错误信息",MessageBoxButtons.OK,MessageBoxIcon.Error);
  1078. }
  1079. }
  1080. }
  1081. }
  1082. /// <summary>
  1083. /// 生成专题图
  1084. /// </summary>
  1085. private void theme()
  1086. {
  1087. SuperMapLib.soThemeCustom myTheme;
  1088. myTheme = this.axSuperMap1.Layers[1].ThemeCustom;
  1089. myTheme.BrushStyleField = "BrushStyle";
  1090. myTheme.BrushColorField = "BrushColor";
  1091. myTheme.PenWidthField = "PenWidth";
  1092. myTheme.PenColorField = "PenColor";
  1093. myTheme.Enable = true;
  1094.             SuperMapLib.soThemeLabel myThemelabel;
  1095. SuperMapLib.soTextStyle myText = new SuperMapLib.soTextStyleClass();
  1096. myText.FontHeight =1.3;
  1097. myText.FontWidth =1.1;
  1098. myText.BgColor = 50;
  1099. myText.Color = 180;
  1100. myThemelabel = this.axSuperMap1.Layers[1].ThemeLabel;
  1101. myThemelabel.Field = "txt";
  1102. myThemelabel.TextStyle = myText;
  1103. myThemelabel.OffsetX = -8;
  1104. myThemelabel.Enable = true;
  1105. myTheme = null;
  1106. myThemelabel = null;
  1107. myText = null;
  1108. }
  1109. /// <summary>
  1110. /// 返回查找指定 ID 的填充模式实体的顺序号
  1111. /// </summary>
  1112. /// <param name="id">指定 ID </param>
  1113. /// <returns></returns>
  1114. private int find_fill_id(int id)
  1115. {
  1116. int f_id = 0;
  1117. SuperMapLib.soFillStyleLib myFill;
  1118. SuperMapLib.soResources myResourse;
  1119. myResourse = this.axSuperWorkspace1.Resources;
  1120. myFill = myResourse.FillStyleLib;
  1121. f_id = myFill.FindID(id);
  1122. myFill =null;
  1123. myResourse = null;
  1124. return f_id;
  1125. }
  1126. #endregion
  1127. #region 修改钻孔信息
  1128. /// <summary>
  1129. /// 根据datagrid的变化更新数据库
  1130. /// </summary>
  1131. /// <returns>成功为true</returns>
  1132. private bool lay_change()
  1133. {
  1134. string select = "select ceng.煤层名称,ceng.止煤深度,ceng.底板坐标x,ceng.底板坐标y,ceng.底板坐标z,ceng.煤层伪厚,ceng.煤层倾角,ceng.利用厚度,ceng.顶板岩性,ceng.底板岩性,ceng.钻孔序号,ceng.等级,ceng.编号 from 煤层关联钻孔 as ceng where 1>2";
  1135. DataBase myDB = new DataBase();
  1136. if(myDB.Run_change(select,this.Ceng_DataSet,"cenginfo"))
  1137. {
  1138. return true;
  1139. }
  1140. else
  1141. {
  1142. return false;
  1143. }
  1144. }
  1145. /// <summary>
  1146. /// 得到有钻孔关的基本信息
  1147. /// </summary>
  1148. private void get_value()
  1149. {
  1150. this.k_id = this.txt_No.Text.Trim();
  1151. this.k_x = Convert.ToDouble(this.numericUpDown_x.Value);
  1152. this.k_y = Convert.ToDouble(this.numericUpDown_y.Value);
  1153. this.k_z = Convert.ToDouble(this.numericUpDown_z.Value);
  1154. this.k_h = Convert.ToDouble(this.numericUpDown_h.Value);
  1155. this.k_other = this.txt_other.Text.Trim();
  1156. this.k_com = this.txt_com.Text.Trim();
  1157. this.k_date = (DateTime)this.dateTimePicker_data.Value;
  1158. this.k_lay = this.txt_lay.Text.Trim();
  1159. }
  1160. /// <summary>
  1161. /// 修改孔的基本信息
  1162. /// </summary>
  1163. /// <returns></returns>
  1164. private bool kong_change()
  1165. {
  1166. SqlParameter[] myParamers={  
  1167.   new SqlParameter("@id",SqlDbType.Int,4),
  1168.   new SqlParameter("@x",SqlDbType.Float),
  1169.   new SqlParameter("@y",SqlDbType.Float),
  1170.   new SqlParameter("@z",SqlDbType.Float),
  1171.   new SqlParameter("@shigong_time",SqlDbType.DateTime),
  1172.   new SqlParameter("@shigong_danwei",SqlDbType.Char,30),
  1173.   new SqlParameter("@beizhu",SqlDbType.VarChar,500),
  1174.   new SqlParameter("@kong_shendu",SqlDbType.Float),
  1175.   new SqlParameter("@kong_cengwei",SqlDbType.Char,5),
  1176. } ;
  1177. myParamers[0].Value = this.kong_id;
  1178. myParamers[1].Value = this.k_x;
  1179. myParamers[2].Value = this.k_y;
  1180. myParamers[3].Value = this.k_z;
  1181. myParamers[4].Value = this.k_date;
  1182. myParamers[5].Value = this.k_com;
  1183. myParamers[6].Value = this.k_other;
  1184. myParamers[7].Value = this.k_h;
  1185. myParamers[8].Value = this.k_lay;
  1186. DataBase myDB = new DataBase();
  1187. if(myDB.RunProcedure_Nr("up_change_kong",myParamers))
  1188. {
  1189. return true;
  1190. }
  1191. else
  1192. {
  1193. return false;
  1194. }
  1195. }
  1196. #endregion
  1197. #region 加载自己定义的填充库
  1198. /// <summary>
  1199. /// 获取系统填充库文件
  1200. /// </summary>
  1201. private void get_fill_file()
  1202. {
  1203. SuperMapLib.soFillStyleLib myFill;
  1204. SuperMapLib.soResources myResourse;
  1205. myResourse = this.axSuperWorkspace1.Resources;
  1206. myFill = myResourse.FillStyleLib;
  1207. string url = Application.StartupPath+"\fill.dll";
  1208. try
  1209. {
  1210. myFill.Import(url,true);
  1211. }
  1212. catch(Exception e)
  1213. {
  1214. MessageBox.Show("岩性填充库加载失败,您可能无法看到正确的钻孔剖面示意图nn错误信息:"+e.Message,"系统错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
  1215. }
  1216. finally
  1217. {
  1218. myFill =null;
  1219. myResourse = null;
  1220. }
  1221. }
  1222. #endregion
  1223. private void user_admin()
  1224. {
  1225. this.btn_ok.Enabled = false;
  1226. this.label10.Text = "您的身份为普通用户,不能修改数据";
  1227. }
  1228. }
  1229. }