123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645 |
- 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<RootSort> sorts = new List<RootSort>();
- //初始化
- 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<Erjimulu> erjimulus = new List<Erjimulu>();
- 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<Jianyanxiangmu> jianyanxiangmus = new List<Jianyanxiangmu>();
- public string parent { set; get; }
- public TreeNode erjiNode = new TreeNode();
- public List<InitialCeliangxian> initialCeliangxian = new List<InitialCeliangxian>();
- //初始化測量綫
- //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<Celiangxian> celiangxians = new List<Celiangxian>();
- 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<string> 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<string> 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<string> text { set; get; }
- }
- //初始測量綫
- public class InitialCeliangxian
- {
- public string name { set; get; }
- public string text { set; get; }
- }
- public class Kongjian
- {
- public List<Label> fenleimingchengs = new List<Label>();
- public List<Label> biaochimingchengs = new List<Label>();
- public List<Label> tupianweizhis = new List<Label>();
- public List<Button> wenjianxuanzes = new List<Button>();
- public List<Button> tianjiatupians = new List<Button>();
- public List<Button> huizhifanweis = new List<Button>();
- public List<Button> qingkongquanbus = new List<Button>();
- public List<List<PictureBox>> pictureBoxes = new List<List<PictureBox>>();
- public List<List<Button>> shanchus = new List<List<Button>>();
- public List<Label> dividingLines = new List<Label>();
- /// <summary>
- /// 添加圖片時修改控件位置
- /// </summary>
- public void ResetControlPosition(int rowOfFenlei)
- {
- int count = fenleimingchengs.Count;
- for (int i = rowOfFenlei+1; i < count; i++)
- {
- fenleimingchengs[i].Location = new System.Drawing.Point(fenleimingchengs[i].Location.X, fenleimingchengs[i].Location.Y + 70);
- biaochimingchengs[i].Location = new System.Drawing.Point(biaochimingchengs[i].Location.X, biaochimingchengs[i].Location.Y + 70);
- tupianweizhis[i].Location = new System.Drawing.Point(fenleimingchengs[i].Location.X, fenleimingchengs[i].Location.Y + 20);
- huizhifanweis[i].Location = new System.Drawing.Point(tupianweizhis[i].Location.X + 70 * 5, tupianweizhis[i].Location.Y + 20);
- qingkongquanbus[i].Location = new System.Drawing.Point(tupianweizhis[i].Location.X + 70 * 5, huizhifanweis[i].Location.Y + huizhifanweis[i].Height + 2);
- wenjianxuanzes[i].Location = new System.Drawing.Point(wenjianxuanzes[i].Location.X, huizhifanweis[i].Location.Y - wenjianxuanzes[i].Height - 2);
- tianjiatupians[i].Location = new System.Drawing.Point(tianjiatupians[i].Location.X, tianjiatupians[i].Location.Y+70);
- dividingLines[i].Location = new System.Drawing.Point(dividingLines[i].Location.X, tianjiatupians[i].Location.Y + tianjiatupians[i].Height + 20);
- for (int j = 0; j < pictureBoxes[i].Count; j++)
- {
- pictureBoxes[i][j].Location = new System.Drawing.Point(pictureBoxes[i][j].Location.X, pictureBoxes[i][j].Location.Y + 70);
- shanchus[i][j].Location = new System.Drawing.Point(shanchus[i][j].Location.X, shanchus[i][j].Location.Y + 70);
- }
- }
- }
- /// <summary>
- /// 刪除圖片時修改控件位置
- /// </summary>
- public void ResetControlPosition2(int rowOfFenlei, int position)
- {
- int count = fenleimingchengs.Count;
- int number = pictureBoxes[rowOfFenlei].Count;
- //儅被刪除的是一行的是第5個時,添加圖片按鈕是最後一個圖片的位置,從最後一個圖片開始,每個圖片都是前一個圖片的位置,直到刪除的位置,刪除位置position的位置是position-1的x+70,y相同(同刪除)
- //刪除的不是第5個時,刪除位置的x是自己-70,y同自己(同刪除)
- //如果這組圖片的總數從5的倍數刪除的話,其后的所有分類向上抬一行
- if ((number + 1) % 4 == 0)
- {
- if (position == number)
- {
- tianjiatupians[rowOfFenlei].Location = new System.Drawing.Point(pictureBoxes[rowOfFenlei][number - 1].Location.X + 70, pictureBoxes[rowOfFenlei][number - 1].Location.Y);
- dividingLines[rowOfFenlei].Location = new System.Drawing.Point(dividingLines[rowOfFenlei].Location.X, tianjiatupians[rowOfFenlei].Location.Y + tianjiatupians[rowOfFenlei].Height + 20);
- }
- else {
- tianjiatupians[rowOfFenlei].Location = new System.Drawing.Point(pictureBoxes[rowOfFenlei][number - 1].Location.X, pictureBoxes[rowOfFenlei][number - 1].Location.Y);
- dividingLines[rowOfFenlei].Location = new System.Drawing.Point(dividingLines[rowOfFenlei].Location.X, tianjiatupians[rowOfFenlei].Location.Y + tianjiatupians[rowOfFenlei].Height + 20);
- }
-
- for (int j = rowOfFenlei + 1; j < count; j++)
- {
- fenleimingchengs[j].Location = new System.Drawing.Point(fenleimingchengs[j].Location.X, fenleimingchengs[j].Location.Y - 70);
- biaochimingchengs[j].Location = new System.Drawing.Point(biaochimingchengs[j].Location.X, biaochimingchengs[j].Location.Y - 70);
- tupianweizhis[j].Location = new System.Drawing.Point(tupianweizhis[j].Location.X, tupianweizhis[j].Location.Y - 70);
- huizhifanweis[j].Location = new System.Drawing.Point(huizhifanweis[j].Location.X, huizhifanweis[j].Location.Y - 70);
- wenjianxuanzes[j].Location = new System.Drawing.Point(wenjianxuanzes[j].Location.X, wenjianxuanzes[j].Location.Y - 70);
- qingkongquanbus[j].Location = new System.Drawing.Point(qingkongquanbus[j].Location.X, qingkongquanbus[j].Location.Y - 70);
- tianjiatupians[j].Location = new System.Drawing.Point(tianjiatupians[j].Location.X, tianjiatupians[j].Location.Y - 70);
- dividingLines[j].Location = new System.Drawing.Point(dividingLines[j].Location.X, tianjiatupians[j].Location.Y + tianjiatupians[j].Height + 20);
- for (int k = 0; k < pictureBoxes[j].Count; k++)
- {
- pictureBoxes[j][k].Location = new System.Drawing.Point(pictureBoxes[j][k].Location.X, pictureBoxes[j][k].Location.Y - 70);
- shanchus[j][k].Location = new System.Drawing.Point(shanchus[j][k].Location.X, shanchus[j][k].Location.Y - 70);
- }
- }
- if ((position + 1) % 4 == 0)
- {
- for (int i = number - 1; i > position; i--)
- {
- pictureBoxes[rowOfFenlei][i].Location = pictureBoxes[rowOfFenlei][i - 1].Location;
- shanchus[rowOfFenlei][i].Location = shanchus[rowOfFenlei][i - 1].Location;
- }
- if (position < number)
- {
- pictureBoxes[rowOfFenlei][position].Location = new System.Drawing.Point(pictureBoxes[rowOfFenlei][position - 1].Location.X + 70, pictureBoxes[rowOfFenlei][position - 1].Location.Y);
- shanchus[rowOfFenlei][position].Location = new System.Drawing.Point(shanchus[rowOfFenlei][position - 1].Location.X + 70, shanchus[rowOfFenlei][position - 1].Location.Y);
- }
- }
- else
- {
- for (int i = number - 1; i > position; i--)
- {
- pictureBoxes[rowOfFenlei][i].Location = pictureBoxes[rowOfFenlei][i - 1].Location;
- shanchus[rowOfFenlei][i].Location = shanchus[rowOfFenlei][i - 1].Location;
- }
- if (position < number)
- {
- pictureBoxes[rowOfFenlei][position].Location = new System.Drawing.Point(pictureBoxes[rowOfFenlei][position].Location.X - 70, pictureBoxes[rowOfFenlei][position].Location.Y);
- shanchus[rowOfFenlei][position].Location = new System.Drawing.Point(shanchus[rowOfFenlei][position].Location.X - 70, shanchus[rowOfFenlei][position].Location.Y);
- }
- }
- }
- else
- {
- tianjiatupians[rowOfFenlei].Location = new System.Drawing.Point(tianjiatupians[rowOfFenlei].Location.X - 70, tianjiatupians[rowOfFenlei].Location.Y);
- dividingLines[rowOfFenlei].Location = new System.Drawing.Point(dividingLines[rowOfFenlei].Location.X, tianjiatupians[rowOfFenlei].Location.Y + tianjiatupians[rowOfFenlei].Height + 20);
- if ((position + 1) % 4 == 0)
- {
- for (int i = number - 1; i > position; i--)
- {
- pictureBoxes[rowOfFenlei][i].Location = pictureBoxes[rowOfFenlei][i - 1].Location;
- shanchus[rowOfFenlei][i].Location = shanchus[rowOfFenlei][i - 1].Location;
- }
- if (position < number)
- {
- pictureBoxes[rowOfFenlei][position].Location = new System.Drawing.Point(pictureBoxes[rowOfFenlei][position - 1].Location.X + 70, pictureBoxes[rowOfFenlei][position - 1].Location.Y);
- shanchus[rowOfFenlei][position].Location = new System.Drawing.Point(shanchus[rowOfFenlei][position - 1].Location.X + 70, shanchus[rowOfFenlei][position - 1].Location.Y);
- }
- }
- else
- {
- for (int i = number - 1; i > position; i--)
- {
- pictureBoxes[rowOfFenlei][i].Location = pictureBoxes[rowOfFenlei][i - 1].Location;
- shanchus[rowOfFenlei][i].Location = shanchus[rowOfFenlei][i - 1].Location;
- }
- if (position < number)
- {
- pictureBoxes[rowOfFenlei][position].Location = new System.Drawing.Point(pictureBoxes[rowOfFenlei][position].Location.X - 70, pictureBoxes[rowOfFenlei][position].Location.Y);
- shanchus[rowOfFenlei][position].Location = new System.Drawing.Point(shanchus[rowOfFenlei][position].Location.X - 70, shanchus[rowOfFenlei][position].Location.Y);
- }
- }
- }
- }
- /// <summary>
- /// 清空圖片時重置控件位置
- /// </summary>
- public void ResetControlPosition3(int rowOfFenlei,int cengshu)
- {
- int count = fenleimingchengs.Count;
-
- for (int j = rowOfFenlei + 1; j < count; j++)
- {
- fenleimingchengs[j].Location = new System.Drawing.Point(fenleimingchengs[j].Location.X, fenleimingchengs[j].Location.Y - 70 * cengshu);
- biaochimingchengs[j].Location = new System.Drawing.Point(biaochimingchengs[j].Location.X, biaochimingchengs[j].Location.Y - 70 * cengshu);
- tupianweizhis[j].Location = new System.Drawing.Point(tupianweizhis[j].Location.X, tupianweizhis[j].Location.Y - 70 * cengshu);
- huizhifanweis[j].Location = new System.Drawing.Point(huizhifanweis[j].Location.X, huizhifanweis[j].Location.Y - 70 * cengshu);
- qingkongquanbus[j].Location = new System.Drawing.Point(qingkongquanbus[j].Location.X, qingkongquanbus[j].Location.Y - 70 * cengshu);
- wenjianxuanzes[j].Location = new System.Drawing.Point(wenjianxuanzes[j].Location.X, wenjianxuanzes[j].Location.Y - 70 * cengshu);
- tianjiatupians[j].Location = new System.Drawing.Point(tianjiatupians[j].Location.X, tianjiatupians[j].Location.Y - 70 * cengshu);
- dividingLines[j].Location = new System.Drawing.Point(dividingLines[j].Location.X, tianjiatupians[j].Location.Y + tianjiatupians[j].Height + 20);
- for (int k = 0; k < pictureBoxes[j].Count; k++)
- {
- pictureBoxes[j][k].Location = new System.Drawing.Point(pictureBoxes[j][k].Location.X, pictureBoxes[j][k].Location.Y - 70 * cengshu);
- shanchus[j][k].Location = new System.Drawing.Point(shanchus[j][k].Location.X, shanchus[j][k].Location.Y - 70 * cengshu);
- }
- }
- }
- }
- }
|