using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace SmartCoalApplication.Base.AutoMeasure { //输出位置与名称 public class Biaoxiang { public string content { get; set; } public string posizion { get; set; } } //规程类 public class Rules { public string mingcheng { get; set; } public string beizhu { get; set; } public Biaoxiang liaohao = new Biaoxiang(); public Biaoxiang banci = new Biaoxiang(); public Biaoxiang shiyanshi = new Biaoxiang(); public Biaoxiang shiyongchangqu = new Biaoxiang(); public Biaoxiang zhichengbie = new Biaoxiang(); public Biaoxiang danhao = new Biaoxiang(); public Biaoxiang pihao = new Biaoxiang(); public Biaoxiang cengbie = new Biaoxiang(); public Biaoxiang dianduxianbie = new Biaoxiang(); public Biaoxiang danwei = new Biaoxiang(); public string number { get; set; } //储存分类 public List sorts = new List(); //初始化 public void Initialize() { RootSort qianmangkong = new RootSort(); string[] qianmangkongInfor = { "qianmangkong", "淺盲孔" }; string[] qianmangkongErjiInfor = { "chujianQianmangkong", "初件淺盲孔" }; qianmangkong.Initialize(qianmangkongInfor, qianmangkongErjiInfor, 1); qianmangkong.ConectTree(); string[] celiangxianName = { "zuidazhi","zuixiaozhi","pingjunzhi","shangJicaitong","xiaJicaitong","shangMiantong+Jicaitong","xiaMiantong+Jicaitong" ,"shangMiantong","xiaMiantong","zuoKongtong","youKongtong","shangKongjing","xiaKongjing","kongdi","kongdiyaoshiliang"}; string[] celiangxianText = {"最大值","最小值","平均值", "上基材銅","下基材銅","上面銅+基材銅","下面銅+基材銅","上面銅","下面銅","左孔銅", "右孔銅","上孔徑","下孔徑","孔底","孔底咬蝕量" }; qianmangkong.erjimulus[0].InitializeCeliangxian(celiangxianName, celiangxianText, 15); sorts.Add(qianmangkong); RootSort shenmangkong = new RootSort(); string[] shenmangkongInfor = { "shenamngkong", "深盲孔" }; string[] shenmangkongErjiInfor = { "shenmangkongDanceng", "深盲孔單層", "shenmangkongShuangceng", "深盲孔雙層" }; shenmangkong.Initialize(shenmangkongInfor, shenmangkongErjiInfor, 2); shenmangkong.ConectTree(); string[] shenmangkongCeliangxianName1 = { "zuidazhi","zuixiaozhi","pingjunzhi","shangJicaitong","xiaJicaitong","shangMiantong+Jicaitong","xiaMiantong+Jicaitong" ,"shangMiantong","xiaMiantong","zuoKongtong","youKongtong","shangKongjing","xiaKongjing","kongdi","kongdiyaoshiliang","kongshen","zuoJiaohou","youJiaohou","zuoJiaoneisuo","youJiaoneisuo" }; string[] shenmangkongCeliangxianText1 = { "最大值", "最小值", "平均值", "上基材銅","下基材銅","上面銅+基材銅","下面銅+基材銅","上面銅","下面銅","左孔銅", "右孔銅","上孔徑","下孔徑","孔底","孔底咬蝕量","孔深","左膠厚","右膠厚","左膠内縮","右膠内縮" }; shenmangkong.erjimulus[0].InitializeCeliangxian(shenmangkongCeliangxianName1, shenmangkongCeliangxianText1, 20); string[] shenmangkongCeliangxianName2 = { "zuidazhi", "zuixiaozhi", "pingjunzhi","shangcengShangJicaitong","shangcengXiaJicaitong","shangcengShangMiantong+Jicaitong", "shangcengXiaMiantong+Jicaitong","shangcengShangMiantong","shangcengXiaMiantong","shangcengZuoKongtong","shangcengYouKongtong","shangcengShangKongjing","shangcengXiaKongjing", "shangcengKongdi","shangcengKongdiyaoshiliang","shangcengKongshen","shangcengZuoJiaohou","shangcengYouJiaohou","shangcengZuoJiaoneisuo","shangcengYouJiaoneisuo", "xiacengShangJicaitong","xiacengXiaJicaitong","xiacengShangMiantong+Jicaitong", "xiacengXiaMiantong+Jicaitong","xiacengShangMiantong","xiacengXiaMiantong","xiacengZuoKongtong","xiacengYouKongtong","xiacengShangKongjing","xiacengXiaKongjing", "xiacengKongdi","xiacengKongdiyaoshiliang","xiacengKongshen","xiacengZuoJiaohou","xiacengYouJiaohou","xiacengZuoJiaoneisuo","xiacengYouJiaoneisuo"}; string[] shenmangkongCeliangxianText2 = {"最大值", "最小值", "平均值", "上層上基材銅","上層下基材銅","上層上面銅+基材銅","上層下面銅+基材銅","上層上面銅","上層下面銅","上層左孔銅", "上層右孔銅","上層上孔徑","上層下孔徑","上層孔底","上層孔底咬蝕量","上層孔深","上層左膠厚","上層右膠厚","上層左膠内縮","上層右膠内縮" ,"下層上基材銅","下層下基材銅","下層上面銅+基材銅" ,"下層下面銅+基材銅","下層上面銅","下層下面銅","下層左孔銅", "下層右孔銅","下層上孔徑","下層下孔徑","下層孔底","下層孔底咬蝕量","下層孔深","下層左膠厚","下層右膠厚","下層左膠内縮","下層右膠内縮" }; shenmangkong.erjimulus[1].InitializeCeliangxian(shenmangkongCeliangxianName2, shenmangkongCeliangxianText2, 37); sorts.Add(shenmangkong); //string input="一+-一"; //var arr = input.Split(mathMarks);char[] mathMarks = { '+', '-', '*', '/' }; RootSort sicengban = new RootSort(); string[] sicengbanInfor = { "sicengban","通孔-四層板" }; string[] sicengbanErjiInfor = { "sicengbanZuo", "四層板左", "sicengbanYou", "四層板右", "sicengbanKongjing", "四層板孔徑" }; sicengban.Initialize(sicengbanInfor, sicengbanErjiInfor, 3); sicengban.ConectTree(); string[] sicengbanCeliangxianName1 = {"zuidazhi","zuixiaozhi","pingjunzhi","shangJicaitong","xiaJicaitong","shangMiantong+Jicaitong","xiaMiantong+Jicaitong" ,"shangMiantong","xiaMiantong","shangCucaodu","xiaCucaodu","shangKongtong","zhongKongtong","xiaKongtong" }; string[] sicengbanCeliangxianText1 = { "最大值", "最小值", "平均值", "上基材銅", "下基材銅" , "上面銅+基材銅", "下面銅+基材銅", "上面銅", "下面銅","上粗糙度","下粗糙度","上孔銅","中孔銅","下孔銅" }; sicengban.erjimulus[0].InitializeCeliangxian(sicengbanCeliangxianName1, sicengbanCeliangxianText1, 14); sicengban.erjimulus[1].InitializeCeliangxian(sicengbanCeliangxianName1, sicengbanCeliangxianText1, 14); string[] sicengbanCeliangxianName2 = { "zuidazhi", "zuixiaozhi", "pingjunzhi", "shangKongjing", "xiaKongjing" }; string[] sicengbanCeliangxianText2 = { "最大值", "最小值", "平均值", "上孔徑", "下孔徑" }; sicengban.erjimulus[2].InitializeCeliangxian(sicengbanCeliangxianName2, sicengbanCeliangxianText2, 5); sorts.Add(sicengban); RootSort sancengban = new RootSort(); string[] sancengbanInfor = { "sancengban", "通孔-三層板" }; string[] sancengbanErjiInfor = { "sancengbanZuo", "三層板左", "sancengbanYou", "三層板右","sancengbanQuan","三層板全" }; sancengban.Initialize(sancengbanInfor, sancengbanErjiInfor, 3); sancengban.ConectTree(); string[] sancengbanCeliangxianName1 = {"zuidazhi","zuixiaozhi","pingjunzhi","shangJicaitong","xiaJicaitong","shangMiantong+Jicaitong","xiaMiantong+Jicaitong" ,"shangMiantong","xiaMiantong","cucaodu","shangKongtong","xiaKongtong" }; string[] sancengbanCeliangxianText1 = { "最大值", "最小值", "平均值", "上基材銅", "下基材銅", "上面銅+基材銅", "下面銅+基材銅", "上面銅", "下面銅", "粗糙度", "上孔銅", "下孔銅" }; sancengban.erjimulus[0].InitializeCeliangxian(sancengbanCeliangxianName1, sancengbanCeliangxianText1, 12); sancengban.erjimulus[1].InitializeCeliangxian(sancengbanCeliangxianName1, sancengbanCeliangxianText1, 12); string[] sancengbanCeliangxianName2 = {"zuidazhi","zuixiaozhi","pingjunzhi","zuoceShangJicaitong","zuoceXiaJicaitong","zuoceShangMiantong+Jicaitong","zuoceXiaMiantong+Jicaitong" ,"zuoceShangMiantong","zuoceXiaMiantong","zuoceCucaodu","zuoceShangKongtong","zuoceXiaKongtong", "youceShangJicaitong","youceXiaJicaitong","youceShangMiantong+Jicaitong","youceXiaMiantong+Jicaitong" ,"youceShangMiantong","youceXiaMiantong","youceCucaodu","youceShangKongtong","youceXiaKongtong","shangKongjing","xiaKongjing"}; string[] sancengbanCeliangxianText2 = { "最大值", "最小值", "平均值", "左側上基材銅", "左側下基材銅", "左側上面銅+基材銅", "左側下面銅+基材銅", "左側上面銅", "左側下面銅", "左側粗糙度", "左側上孔銅", "左側下孔銅", "右側上基材銅", "右側下基材銅", "右側上面銅+基材銅", "右側下面銅+基材銅", "右側上面銅", "右側下面銅", "右側粗糙度", "右側上孔銅", "右側下孔銅","上孔徑","下孔徑"}; sancengban.erjimulus[2].InitializeCeliangxian(sancengbanCeliangxianName2, sancengbanCeliangxianText2, 23); sorts.Add(sancengban); RootSort liangcengban = new RootSort(); string[] liangcengbanInfor = { "liangcengban", "通孔-兩層板" }; string[] liangcengbanErjiInfor = { "liangcengbanZuo", "兩層板左", "liangcengbanYou", "兩層板右", "liangcengbanQuan", "兩層板全" }; liangcengban.Initialize(liangcengbanInfor, liangcengbanErjiInfor, 3); liangcengban.ConectTree(); string[] liangcengbanCeliangxianName1 = { "zuidazhi","zuixiaozhi","pingjunzhi","shangJicaitong","xiaJicaitong","shangMiantong+Jicaitong","xiaMiantong+Jicaitong" ,"shangMiantong","xiaMiantong","kongtong"}; string[] liangcengbanCeliangxianText1 = { "最大值", "最小值", "平均值", "上基材銅", "下基材銅", "上面銅+基材銅", "下面銅+基材銅", "上面銅", "下面銅", "孔銅" }; liangcengban.erjimulus[0].InitializeCeliangxian(liangcengbanCeliangxianName1, liangcengbanCeliangxianText1, 10); liangcengban.erjimulus[1].InitializeCeliangxian(liangcengbanCeliangxianName1, liangcengbanCeliangxianText1, 10); string[] liangcengbanCeliangxianName2 = { "zuidazhi","zuixiaozhi","pingjunzhi","zuoceShangJicaitong","zuoceXiaJicaitong","zuoceShangMiantong+Jicaitong","zuoceXiaMiantong+Jicaitong" ,"zuoceShangMiantong","zuoceXiaMiantong","zuocekongtong", "youceShangJicaitong","youceXiaJicaitong","youceShangMiantong+Jicaitong","youceXiaMiantong+Jicaitong" ,"youceShangMiantong","youceXiaMiantong","youcekongtong","shangKongjing","xiaKongjing"}; string[] liangcengbanCeliangxianText2 = { "最大值", "最小值", "平均值", "左側上基材銅", "左側下基材銅", "左側上面銅+基材銅", "左側下面銅+基材銅", "左側上面銅", "左側下面銅", "左側孔銅", "右側上基材銅", "右側下基材銅", "右側上面銅+基材銅", "右側下面銅+基材銅", "右側上面銅", "右側下面銅", "右側孔銅","上孔徑","下孔徑"}; liangcengban.erjimulus[2].InitializeCeliangxian(liangcengbanCeliangxianName2, liangcengbanCeliangxianText2, 19); sorts.Add(liangcengban); RootSort shikeyinzi = new RootSort(); string[] shikeyinziInfor = { "shikeyinzi", "蝕刻因子" }; string[] shikeyinziErjiInfor = { "shikeyinziDanceng", "蝕刻因子單層", "shikeyinziShuangceng", "蝕刻因子雙層" }; shikeyinzi.Initialize(shikeyinziInfor, shikeyinziErjiInfor, 2); shikeyinzi.ConectTree(); string[] shikeyinziCeliangxianName1 = { "zuidazhi", "zuixiaozhi", "pingjunzhi", "shangfu", "xiafu", "tonghou" }; string[] shikeyinziCeliangxianText1 = { "最大值", "最小值", "平均值", "上幅", "下幅", "銅厚" }; shikeyinzi.erjimulus[0].InitializeCeliangxian(shikeyinziCeliangxianName1, shikeyinziCeliangxianText1, 6); string[] shikeyinziCeliangxianName2 = { "zuidazhi", "zuixiaozhi", "pingjunzhi", "shangfu", "xiafu", "tonghou", "zonghou" }; string[] shikeyinziCeliangxianText2 = { "最大值", "最小值", "平均值", "上幅", "下幅", "銅厚", "縂厚" }; shikeyinzi.erjimulus[1].InitializeCeliangxian(shikeyinziCeliangxianName2, shikeyinziCeliangxianText2, 7); sorts.Add(shikeyinzi); RootSort fanghan = new RootSort(); string[] fanghanInfor = { "fanghan", "防焊" }; string[] fanghanErjiInfor = { "meikaikou", "沒開口", "youkaikou", "有開口", "shuangcengtong", "雙層銅" }; fanghan.Initialize(fanghanInfor, fanghanErjiInfor, 3); fanghan.ConectTree(); string[] fanghanCeliangxianName1 = { "zuidazhi", "zuixiaozhi", "pingjunzhi", "tonghou", "fanghanhoudu", "PIshangfanghanhoudu", "anquanjuli", "offset", "undercut" }; string[] fanghanCeliangxianText1 = { "最大值", "最小值", "平均值", "銅厚", "防焊厚度", "PI上防焊厚度", "安全距離", "offset", "undercut" }; fanghan.erjimulus[0].InitializeCeliangxian(fanghanCeliangxianName1, fanghanCeliangxianText1, 9); string[] fanghanCeliangxianName2 = { "zuidazhi", "zuixiaozhi", "pingjunzhi", "tonghou", "fanghanhoudu", "LPIhoudu", "anquanjuli", "offset", "undercut", "fanghankaikou" }; string[] fanghanCeliangxianText2 = { "最大值", "最小值", "平均值", "銅厚", "防焊厚度", "LPI厚度", "安全距離", "offset", "undercut", "防焊開口" }; fanghan.erjimulus[1].InitializeCeliangxian(fanghanCeliangxianName2, fanghanCeliangxianText2, 10); string[] fanghanCeliangxianName3 = { "zuidazhi", "zuixiaozhi", "pingjunzhi", "tonghou", "xianshangfanghan", "LPIhoudu", "安全距離", "offset", "undercut" }; string[] fanghanCeliangxianText3 = { "最大值", "最小值", "平均值", "銅厚", "綫上防焊", "LPI厚度", "安全距離", "offset", "undercut" }; fanghan.erjimulus[2].InitializeCeliangxian(fanghanCeliangxianName3, fanghanCeliangxianText3, 9); sorts.Add(fanghan); RootSort gaoducha = new RootSort(); string[] gaoduchaInfor = { "gaoducha", "高度差" }; string[] gaoduchaErjiInfor = { "zuoce", "左側", "youce", "右側", "quan", "全" }; gaoducha.Initialize(gaoduchaInfor, gaoduchaErjiInfor, 3); gaoducha.ConectTree(); string[] gaoduchaCeliangxianName1 = { "zuidazhi", "zuixiaozhi", "pingjunzhi", "B", "B*" }; string[] gaoduchaCeliangxianText1 = { "最大值", "最小值", "平均值", "B", "B*" }; gaoducha.erjimulus[0].InitializeCeliangxian(gaoduchaCeliangxianName1, gaoduchaCeliangxianText1, 5); gaoducha.erjimulus[1].InitializeCeliangxian(gaoduchaCeliangxianName1, gaoduchaCeliangxianText1, 5); string[] gaoduchaCeliangxianName2 = { "zuidazhi", "zuixiaozhi", "pingjunzhi", "PADtonghou1", "PIshangFanghan1", "PADtonghou2", "PIshangFanghan2" }; string[] gaoduchaCeliangxianText2 = { "最大值", "最小值", "平均值", "PAD銅厚1", "PI上防焊1", "PAD銅厚2", "PI上防焊2" }; gaoducha.erjimulus[2].InitializeCeliangxian(gaoduchaCeliangxianName2, gaoduchaCeliangxianText2, 7); sorts.Add(gaoducha); RootSort diegou = new RootSort(); string[] diegouInfor = { "diegou", "曡構" }; string[] diegouErjiInfor = { "diegou", "曡構" }; diegou.Initialize(diegouInfor, diegouErjiInfor, 1); diegou.ConectTree(); string[] diegouCeliangxianName1 = { "zuidazhi", "zuixiaozhi", "pingjunzhi", "dancenghou", "zonghou" }; string[] diegouCeliangxianText1 = { "最大值", "最小值", "平均值", "單層厚", "縂厚" }; diegou.erjimulus[0].InitializeCeliangxian(diegouCeliangxianName1, diegouCeliangxianText1, 5); sorts.Add(diegou); } //獲取分類序號 public void GetSortPosition(string SortName, out int position) { position = 0; int count = sorts.Count; for (int i = 0; i < count; i++) { if (sorts[i].name == SortName) { position = i; break; } } } } //根目录,存末级分类名称和二级目录 public class RootSort { public string name { set; get; } public string text { set; get; } public List erjimulus = new List(); public TreeNode rootNode = new TreeNode(); //初始化 //預設一級分類、末級分類、末級分類預設測量綫 //count:末級分類個數 public void Initialize(string[] yiji, string[] erji, int count) { //一級信息 name = yiji[0]; text = yiji[1]; //根節點信息 rootNode.Name = yiji[0]; rootNode.Text = yiji[1]; //二級信息 for (int i = 0; i < count; i++) { Erjimulu newErjimulu = new Erjimulu(); newErjimulu.name = erji[2 * i]; newErjimulu.text = erji[2 * i + 1]; erjimulus.Add(newErjimulu); } } //新增檢驗項目和規格 public void AddJianyanxiangmu(string jianyanxiangmuText, string guige1, string guige2, string erjiName) { int count = erjimulus.Count; int i; for (i = 0; i < count; i++) { if (erjimulus[i].name == erjiName) break; } int jianyanCount = erjimulus[i].jianyanxiangmus.Count; Jianyanxiangmu newJianyanxiangmu = new Jianyanxiangmu(); newJianyanxiangmu.name = jianyanxiangmuText; newJianyanxiangmu.text = jianyanxiangmuText; newJianyanxiangmu.guigeSmaller = int.Parse(guige1); newJianyanxiangmu.guigeBigger = int.Parse(guige2); newJianyanxiangmu.parent = erjimulus[i].name; erjimulus[i].jianyanxiangmus.Add(newJianyanxiangmu);//之上為存儲信息 erjimulus[i].jianyanxiangmus[jianyanCount].jianyanNode.Name = jianyanxiangmuText; erjimulus[i].jianyanxiangmus[jianyanCount].jianyanNode.Text = jianyanxiangmuText;//這裏為設置TreeNode參數 erjimulus[i].erjiNode.Nodes.Add(erjimulus[i].jianyanxiangmus[jianyanCount].jianyanNode);//鏈接到二級目錄 } //修改檢驗項目 public void EditJianyanxiangmu(string jianyanxiangmuText, string guige1, string guige2, string erjiName, string jianyanName) { //尋找檢驗項目地址 int erjiCount = erjimulus.Count; int i, j; for (i = 0; i < erjiCount; i++) { if (erjimulus[i].name == erjiName) break; } int jianyanCount = erjimulus[i].jianyanxiangmus.Count; for (j = 0; j < jianyanCount; j++) { if (erjimulus[i].jianyanxiangmus[j].name == jianyanName) break; } //修改檢驗項目 erjimulus[i].jianyanxiangmus[j].name = jianyanxiangmuText; erjimulus[i].jianyanxiangmus[j].text = jianyanxiangmuText; erjimulus[i].jianyanxiangmus[j].guigeSmaller = int.Parse(guige1); erjimulus[i].jianyanxiangmus[j].guigeBigger = int.Parse(guige2); erjimulus[i].jianyanxiangmus[j].jianyanNode.Name = jianyanxiangmuText; erjimulus[i].jianyanxiangmus[j].jianyanNode.Text = jianyanxiangmuText;//這裏為設置TreeNode參數 erjimulus[i].erjiNode.Nodes[j] = erjimulus[i].jianyanxiangmus[j].jianyanNode; } //傳遞規格 public void GetGuige(string erjiName, string jianyanName, out int guige1, out int guige2) { // 尋找檢驗項目地址 int erjiCount = erjimulus.Count; int i, j; for (i = 0; i < erjiCount; i++) { if (erjimulus[i].name == erjiName) break; } int jianyanCount = erjimulus[i].jianyanxiangmus.Count; for (j = 0; j < jianyanCount; j++) { if (erjimulus[i].jianyanxiangmus[j].name == jianyanName) break; } guige1 = erjimulus[i].jianyanxiangmus[j].guigeSmaller; guige2 = erjimulus[i].jianyanxiangmus[j].guigeBigger; } //根據名稱獲取二級目錄位置 public void GetErjiPosizion(string erjiName, out int position) { position = 0; int erjiCount = erjimulus.Count; int i; for (i = 0; i < erjiCount; i++) { if (erjiName == erjimulus[i].name) { position = i; break; } } } //將二級目錄鏈接一級目錄成樹狀 public void ConectTree() { int count = erjimulus.Count; for (int i = 0; i < count; i++) { erjimulus[i].erjiNode.Name = erjimulus[i].name; erjimulus[i].erjiNode.Text = erjimulus[i].text; //rootNode.Nodes.Add(erjimulus[i].erjiNode); } } } //二級目錄,存二级分类名称,檢驗項目,以及初始測量綫 public class Erjimulu { public string name { set; get; } public string text { set; get; } public List jianyanxiangmus = new List(); public string parent { set; get; } public TreeNode erjiNode = new TreeNode(); public List initialCeliangxian = new List(); //初始化測量綫 //initializeCeliangxianName:測量綫名稱 //celiangxianCount:測量綫數量 public void InitializeCeliangxian(string[] initializeCeliangxianName, string[] initializeCeliangxianText, int celiangxianCount) { for (int i = 0; i < celiangxianCount; i++) { InitialCeliangxian newCeliangxian = new InitialCeliangxian(); newCeliangxian.name = initializeCeliangxianName[i]; newCeliangxian.text = initializeCeliangxianText[i]; initialCeliangxian.Add(newCeliangxian); } } //得到檢驗項目序號 public void GetjianyanPosition(string jianyanName, out int position) { position = 0; int count = jianyanxiangmus.Count; for (int i = 0; i < count; i++) { if (jianyanxiangmus[i].name == jianyanName) { position = i; break; } } } //刪除檢驗項目 public void DeleteJianyanxiangmu(string jianyanxiangmuName) { int count = jianyanxiangmus.Count; int i; for (i = 0; i < count; i++) { if (jianyanxiangmus[i].name == jianyanxiangmuName) break; } erjiNode.Nodes.RemoveAt(i); jianyanxiangmus.RemoveAt(i); } } //檢驗項目,存检测项目名称和測量綫和規格 public class Jianyanxiangmu { public List celiangxians = new List(); public string name { set; get; } public string text { set; get; } public int guigeSmaller { set; get; } public int guigeBigger { set; get; } public string parent { set; get; } public TreeNode jianyanNode = new TreeNode(); //新增測量綫 public void AddCeliangxian(string bieming, string gongshi,List gongshiDataList) { int count = celiangxians.Count; Celiangxian newCeliangxian = new Celiangxian(); newCeliangxian.bieming = bieming; newCeliangxian.text = bieming; newCeliangxian.gongshi = gongshi; newCeliangxian.parent = name; celiangxians.Add(newCeliangxian); celiangxians[count].celiangxianBiemingNode = new CeliangxianData(); celiangxians[count].celiangxianBiemingNode.name = bieming; celiangxians[count].celiangxianBiemingNode.text = gongshiDataList; //jianyanNode.Nodes.Add(celiangxians[count].celiangxianBiemingNode); } //修改測量綫 public void EditCeliangxian(string bieming, string gongshi, string celiangxianName, List gongshiDataList) { int count = celiangxians.Count; int i; for (i = 0; i < count; i++) { if (celiangxians[i].bieming == celiangxianName) break; } celiangxians[i].bieming = bieming; celiangxians[i].gongshi = gongshi; celiangxians[count].celiangxianBiemingNode = new CeliangxianData(); celiangxians[count].celiangxianBiemingNode.name = bieming; celiangxians[count].celiangxianBiemingNode.text = gongshiDataList; //jianyanNode.Nodes[i]=celiangxiangs[i].celiangxianBieming; } //刪除測量綫 public void DeleteCeliangxian(string celiangxianName) { int count = celiangxians.Count; int i; for (i = 0; i < count; i++) { if (celiangxians[i].bieming == celiangxianName) break; } jianyanNode.Nodes.RemoveAt(i); celiangxians.RemoveAt(i); } //得到測量綫位置 public void GetCeliangxianPosition(string celiangxianName, out int position) { position = 0; int count = celiangxians.Count; for (int i = 0; i < count; i++) { if (celiangxians[i].bieming == celiangxianName) { position = i; break; } } } } //測量綫分類,存別名和公式 public class Celiangxian { public string text { set; get; } public string bieming { set; get; } public string gongshi { set; get; } public string parent { set; get; } public CeliangxianData celiangxianBiemingNode; } public class CeliangxianData { public string name { set; get; } public List text { set; get; } } //初始測量綫 public class InitialCeliangxian { public string name { set; get; } public string text { set; get; } } public class Kongjian { public List