コード例 #1
0
        //Метод, который по нажатию кнопки изменяет словарь (удаляет неотмеченные чекбоксы и перезаписывает значения (если такие имеются) у отмеченых чекбоксов)
        private void button2_Click(object sender, EventArgs e)
        {
            foreach (String blockName in tempParamBlocks.Keys)
            {
                int i = 0;
                // for (int i = 0; i < checkBoxList.Count; i++)
                // {
                //       if (!checkBoxList[i].Checked)
                //        {
                //             tempParamBlocks[blockName].Remove(checkBoxList[i].Text);
                //         }
                //         else
                //         {
                //             if(textBoxList[i].Visible)
                //            tempParamBlocks[blockName][checkBoxList[i].Text] = textBoxList[i].Text;
                //       }
                foreach (CheckBox tempCheckBox in mapCheckBox.Keys)
                {
                    if (!tempCheckBox.Checked && blockName.Equals(mapCheckBox[tempCheckBox]))
                    {
                        tempParamBlocks[blockName].Remove(tempCheckBox.Text);
                    }
                    else if (tempCheckBox.Checked && blockName.Equals(mapCheckBox[tempCheckBox]))
                    {
                        if (textBoxList[i].Visible)
                        {
                            tempParamBlocks[blockName][tempCheckBox.Text] = textBoxList[i].Text;
                        }
                    }
                    i += 1;
                }
            }
            //Короче хуй знает как там сделать чтобы он в тот файл записывал, на данном этапе он какой-то новый создаёт, я в твоем коде не зашарил
            IniController controller = new IniController();

            IniLoader.saveFile(controller.SetUpdedParams(tempParamBlocks, ini));
        }
コード例 #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter = "Файлы конфигурации MySQL|*.ini";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    IniController controller = new IniController();
                    this.ini = controller.LoadIni(ofd.FileName);
                    //  String localVars = @"C:\ProgramData\MySQL\MySQL Server 5.5\my.ini";
                    String localVars = @"C:\Users\vladi\Desktop\Самотуга\BOS8\Local configuration file.ini";
                    //String localVars = @"C:\Users\Lenovo\Desktop\Распознавание образов\CONVNET\Sharp\BOS8\Local configuration file.ini";
                    Dictionary <String, Dictionary <String, String> > local = controller.LoadLocalConfiguration(localVars);
                    tempParamBlocks = controller.LoadLocalConfiguration(localVars);
                    int   i = 0;
                    Point currentLocationBlockName;

                    foreach (String blockName in local.Keys)
                    {
                        i += 30;
                        currentLocationBlockName = new Point(0, 55 + i);
                        Label blockNameLabel = new Label();
                        blockNameLabel.Location = currentLocationBlockName;
                        blockNameLabel.Text     = blockName;
                        panel1.Controls.Add(blockNameLabel);
                        Point currentLocation;
                        foreach (String paramName in local[blockName].Keys)
                        {
                            i += 30;
                            CheckBox enableParamBox = new CheckBox();
                            enableParamBox.Text     = paramName;
                            enableParamBox.Enabled  = true;
                            enableParamBox.Size     = new Size(200, 25);
                            enableParamBox.Parent   = this;
                            enableParamBox.Visible  = true;
                            currentLocation         = new Point(0, 45 + i);
                            enableParamBox.Location = currentLocation;

                            TextBox paramVarBox = new TextBox();
                            paramVarBox.Size     = new Size(200, 25);
                            paramVarBox.Location = new Point(enableParamBox.Location.X + 200, enableParamBox.Location.Y);
                            if (local[blockName][paramName] != null)
                            {
                                paramVarBox.Text = local[blockName][paramName];
                            }
                            else
                            {
                                paramVarBox.Visible = false;
                            }

                            checkBoxList.Add(enableParamBox);
                            mapCheckBox.Add(enableParamBox, blockName);

                            textBoxList.Add(paramVarBox);

                            panel1.Controls.Add(paramVarBox);
                            panel1.Controls.Add(enableParamBox);
                        }
                    }


                    // Dictionary<String, Dictionary<String, String>> result = controller.SetUpdedParams(local, ini);
                    //  IniLoader.saveFile(result);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Невозможно открыть выбранный файл " + ex.Message + ex.GetType(), "Ошибка",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }