Example #1
0
        /// <summary>
        /// 处理ComboBox.Text如果不在box.Items里面,则添加进入去(不足三个则依次添加,达到三个则替换第一个)
        /// </summary>
        /// <param name="box">ComboBox控件</param>
        /// <param name="general_">General_format类型的数据</param>
        /// <param name="list">暂存数据的list</param>
        /// <param name="start">第几位开始,默认0</param>
        /// <returns></returns>
        private static General_format Add_config_cmb(ComboBox box, General_format general_, List <string> list, int start = 0)
        {
            //如果输入的值不在常用值列表里面
            if (!Is_include(box.Text, list))
            //if (!box.Items.Contains(box.Text))
            {
                switch (box.Items.Count - start)
                {
                //还没有常用值的时候,添加第一个常用 数值
                case 1:
                    list[start + 1] = box.Text;
                    break;

                //只有1个常用值的时候,添加第2个常用 数值
                case 2:
                    list[start + 2] = box.Text;
                    break;

                //有2个常用值的时候,添加第3个常用 数值
                case 3:
                    list[start + 3] = box.Text;
                    break;

                //有3个常用值的时候,替换第1个常用 数值
                case 4:
                    list[start + 1] = list[start + 2];
                    list[start + 2] = list[start + 3];
                    list[start + 3] = box.Text;
                    break;
                }
            }
            general_ = new General_format
            {
                strOtherOne   = list[start + 1],
                strOtherTwo   = list[start + 2],
                strOtherThree = list[start + 3]
            };
            Combox_add(box, list);
            box.SelectedIndex = 0;
            return(general_);
        }
Example #2
0
        /// <summary>
        /// 把新配置写入json文件中
        /// </summary>
        private void Json_write()
        {
            My_config my_Config      = ReadFile();
            var       config         = new My_config();
            var       command_config = new Command_config();
            var       FrameHead      = new General_format();
            var       FrameTail      = new General_format();
            var       FrameData      = new General_format();
            var       FrameCommand   = new General_format();
            var       FrameOne       = new General_format();
            var       FramTwo        = new General_format();
            var       FramThree      = new General_format();
            var       command_name   = new General_format();
            var       list_Name      = new List_format();
            var       list_Value     = new List_format();

            //listview 列表表头
            list_Name = Add_config_Columns_listView(this.listView1, list_Name, listview_name, this.comboBox1);

            //listview 列表表值
            list_Value = Add_config_Value_listView(this.listView1, list_Value, listview_value, this.comboBox2);

            //选项名
            //根据实际个数来写入配置:选项名称 中
            switch (comboBox1.SelectedIndex)
            {
            //选择“帧头”选项时
            case 1:
                FrameHead      = Add_config_cmb(comboBox2, FrameHead, list_FrameHead);
                command_config = new Command_config
                {
                    strFrameHead       = FrameHead,
                    strFrameTail       = my_Config.Command_config.strFrameTail,
                    strFrameCheckCode  = my_Config.Command_config.strFrameCheckCode,
                    intFrameSequential = my_Config.Command_config.intFrameSequential,
                    strFrameData       = my_Config.Command_config.strFrameData,
                    strFrameCommand    = my_Config.Command_config.strFrameCommand,
                    strFrameOne        = my_Config.Command_config.strFrameOne,
                    strFramTwo         = my_Config.Command_config.strFramTwo,
                    strFramThree       = my_Config.Command_config.strFramThree
                };
                break;

            //选择“时序”的时候,显示框内容就是时序位
            case 2:
                command_config = new Command_config
                {
                    strFrameHead       = my_Config.Command_config.strFrameHead,
                    strFrameTail       = my_Config.Command_config.strFrameTail,
                    strFrameCheckCode  = my_Config.Command_config.strFrameCheckCode,
                    intFrameSequential = this.comboBox2.Text,
                    strFrameData       = my_Config.Command_config.strFrameData,
                    strFrameCommand    = my_Config.Command_config.strFrameCommand,
                    strFrameOne        = my_Config.Command_config.strFrameOne,
                    strFramTwo         = my_Config.Command_config.strFramTwo,
                    strFramThree       = my_Config.Command_config.strFramThree
                };
                break;

            //选择“命令码”的时候
            case 3:
                FrameCommand   = Add_config_cmb(comboBox2, FrameCommand, list_FrameCommand);
                command_config = new Command_config
                {
                    strFrameHead       = my_Config.Command_config.strFrameHead,
                    strFrameTail       = my_Config.Command_config.strFrameTail,
                    strFrameCheckCode  = my_Config.Command_config.strFrameCheckCode,
                    intFrameSequential = my_Config.Command_config.intFrameSequential,
                    strFrameData       = my_Config.Command_config.strFrameData,
                    strFrameCommand    = FrameCommand,
                    strFrameOne        = my_Config.Command_config.strFrameOne,
                    strFramTwo         = my_Config.Command_config.strFramTwo,
                    strFramThree       = my_Config.Command_config.strFramThree
                };
                break;

            //选择“数据”的时候
            case 4:
                FrameData      = Add_config_cmb(comboBox2, FrameData, list_FrameData);
                command_config = new Command_config
                {
                    strFrameHead       = my_Config.Command_config.strFrameHead,
                    strFrameTail       = my_Config.Command_config.strFrameTail,
                    strFrameCheckCode  = my_Config.Command_config.strFrameCheckCode,
                    intFrameSequential = my_Config.Command_config.intFrameSequential,
                    strFrameData       = FrameData,
                    strFrameCommand    = my_Config.Command_config.strFrameCommand,
                    strFrameOne        = my_Config.Command_config.strFrameOne,
                    strFramTwo         = my_Config.Command_config.strFramTwo,
                    strFramThree       = my_Config.Command_config.strFramThree
                };
                break;

            //选择“校验”的时候
            case 5:
                command_config = new Command_config
                {
                    strFrameHead       = my_Config.Command_config.strFrameHead,
                    strFrameTail       = my_Config.Command_config.strFrameTail,
                    strFrameCheckCode  = comboBox2.Text,
                    intFrameSequential = my_Config.Command_config.intFrameSequential,
                    strFrameData       = my_Config.Command_config.strFrameData,
                    strFrameCommand    = my_Config.Command_config.strFrameCommand,
                    strFrameOne        = my_Config.Command_config.strFrameOne,
                    strFramTwo         = my_Config.Command_config.strFramTwo,
                    strFramThree       = my_Config.Command_config.strFramThree
                };
                break;

            //选择“帧尾”的时候
            case 6:
                FrameTail      = Add_config_cmb(comboBox2, FrameTail, list_FrameTail);
                command_config = new Command_config
                {
                    strFrameHead       = my_Config.Command_config.strFrameHead,
                    strFrameTail       = FrameTail,
                    strFrameCheckCode  = my_Config.Command_config.strFrameCheckCode,
                    intFrameSequential = my_Config.Command_config.intFrameSequential,
                    strFrameData       = my_Config.Command_config.strFrameData,
                    strFrameCommand    = my_Config.Command_config.strFrameCommand,
                    strFrameOne        = my_Config.Command_config.strFrameOne,
                    strFramTwo         = my_Config.Command_config.strFramTwo,
                    strFramThree       = my_Config.Command_config.strFramThree
                };
                break;

            //选择“预留1”的时候
            case 7:
                FrameOne       = Add_config_cmb(comboBox2, FrameOne, list_FrameOne);
                command_config = new Command_config
                {
                    strFrameHead       = my_Config.Command_config.strFrameHead,
                    strFrameTail       = my_Config.Command_config.strFrameTail,
                    strFrameCheckCode  = my_Config.Command_config.strFrameCheckCode,
                    intFrameSequential = my_Config.Command_config.intFrameSequential,
                    strFrameData       = my_Config.Command_config.strFrameData,
                    strFrameCommand    = my_Config.Command_config.strFrameCommand,
                    strFrameOne        = FrameOne,
                    strFramTwo         = my_Config.Command_config.strFramTwo,
                    strFramThree       = my_Config.Command_config.strFramThree
                };
                break;

            //选择“预留2”的时候
            case 8:
                FramTwo        = Add_config_cmb(comboBox2, FramTwo, list_FrameTwo);
                command_config = new Command_config
                {
                    strFrameHead       = my_Config.Command_config.strFrameHead,
                    strFrameTail       = my_Config.Command_config.strFrameTail,
                    strFrameCheckCode  = my_Config.Command_config.strFrameCheckCode,
                    intFrameSequential = my_Config.Command_config.intFrameSequential,
                    strFrameData       = my_Config.Command_config.strFrameData,
                    strFrameCommand    = my_Config.Command_config.strFrameCommand,
                    strFrameOne        = my_Config.Command_config.strFrameOne,
                    strFramTwo         = FramTwo,
                    strFramThree       = my_Config.Command_config.strFramThree
                };
                break;

            //选择“预留3”的时候
            case 9:
                FramThree      = Add_config_cmb(comboBox2, FramThree, list_FramThree);
                command_config = new Command_config
                {
                    strFrameHead       = my_Config.Command_config.strFrameHead,
                    strFrameTail       = my_Config.Command_config.strFrameTail,
                    strFrameCheckCode  = my_Config.Command_config.strFrameCheckCode,
                    intFrameSequential = my_Config.Command_config.intFrameSequential,
                    strFrameData       = my_Config.Command_config.strFrameData,
                    strFrameCommand    = my_Config.Command_config.strFrameCommand,
                    strFrameOne        = my_Config.Command_config.strFrameOne,
                    strFramTwo         = my_Config.Command_config.strFramTwo,
                    strFramThree       = FramThree
                };
                break;
            }
            //选项名称
            command_name = Add_config_cmb(comboBox1, command_name, list_name, 6);

            //赋值config
            config = new My_config
            {
                Command_config  = command_config,
                Serial_config   = my_Config.Serial_config,
                Command_Name    = command_name,
                List_Name       = list_Name,
                List_Value      = list_Value,
                CheckCode_value = my_Config.CheckCode_value
            };

            //把config烧写进json文件
            if (!WriteFile(config)) //调用WriteFile方法把配置写入json文件中
            {
                MessageBox.Show("保存失败", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            }

            //写完数据后显示已经标记的颜色
            for (int i = 0; i < listview_check_value.Count; i++)
            {
                if (listview_check_value[i] != null)
                {
                    this.listView1.Items[0].SubItems[i + 1].BackColor = Color.Aqua;
                }
            }
        }