示例#1
0
        public void LocateControls(Form form, ConsoleHandler console)
        {
            form.Text = "Задание № 1 (b)";
            form.SetDefaultVals(new System.Drawing.Size(800, 700));
            var tmpbutt = BeautyfyForms.AddButton("Очистить дерево", new Point(0, 10), (o, k) =>
            {
                _tree = new BranchingTree();
                treeViewer.Clear();
                _addedWords.Items.Clear();
            });

            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            form.Controls.Add(BeautyfyForms.AddButton(" Суть ", new Point(200, 10), (o, k) =>
            {
                MessageBox.Show("Задача № 1b. Параграф 6.3, Реализация структуры \"Лес\" ");
            }));

            tmpbutt = BeautyfyForms.AddButton("Добавить значение", new Point(0, 40), (o, k) =>
            {
                if (string.IsNullOrEmpty(_addInput.Text))
                {
                    MessageBox.Show("Нет текста для поиска");
                    return;
                }

                var text = _addInput.Text;
                if (_tree.AddWord(text))
                {
                    if (!_addedWords.Items.Contains(text))
                    {
                        _addedWords.Items.Add(text);
                    }
                }

                treeViewer.Text = (_tree != null) ? _tree.getTreeView(_addXToEnd.Checked) : "";
            });

            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            tmpbutt = BeautyfyForms.AddButton("Удалить значение", new Point(0, 70), (o, k) =>
            {
                if (string.IsNullOrEmpty(_deleteInput.Text))
                {
                    MessageBox.Show("Нет текста для поиска");
                    return;
                }

                var text = _deleteInput.Text;
                _tree.DeleteWord(text);
                _addedWords.Items.Remove(text);

                treeViewer.Text = (_tree != null) ? _tree.getTreeView(_addXToEnd.Checked) : "";
            });

            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            tmpbutt = BeautyfyForms.AddButton("Проверить значение", new Point(0, 100), (o, k) =>
            {
                if (string.IsNullOrEmpty(_checkInput.Text))
                {
                    MessageBox.Show("Нет текста для поиска");
                    return;
                }

                var text = _checkInput.Text;
                if (_tree.WordExists(text))
                {
                    MessageBox.Show("Существует");
                }
                else
                {
                    MessageBox.Show("Не существует");
                }
            });

            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            tmpbutt = BeautyfyForms.AddButton("Отобразить деревце", new Point(0, 140), (o, k) =>
            {
                treeViewer.Text = (_tree != null) ? _tree.getTreeView(_addXToEnd.Checked) : "";
            });
            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            tmpbutt = BeautyfyForms.AddButton(" Импорт ", new Point(0, 180), (o, k) =>
            {
                var keys = new List <string>();
                Helper.LoadFile("Список слов", "wordlst", keys);

                if (keys.Count > 0)
                {
                    _tree = new BranchingTree();
                    treeViewer.Clear();
                    _addedWords.Items.Clear();

                    foreach (var key in keys)
                    {
                        if (_tree.AddWord(key))
                        {
                            if (!_addedWords.Items.Contains(key))
                            {
                                _addedWords.Items.Add(key);
                            }
                        }
                    }
                }

                treeViewer.Text = (_tree != null) ? _tree.getTreeView(_addXToEnd.Checked) : "";
            });
            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            tmpbutt = BeautyfyForms.AddButton(" Экспорт ", new Point(80, 180), (o, k) =>
            {
                SaveFileDialog saveFile = new SaveFileDialog();
                saveFile.Filter         = string.Format("{0} (*.{1})|*.{1}", "Луч", "branchview");
                if (saveFile.ShowDialog() == DialogResult.OK)
                {
                    _buttonsToHide.ForEach(x => x.Enabled = false);
                    _timerProgress.Start();

                    Task.Run(() =>
                    {
                        System.IO.File.WriteAllText(saveFile.FileName, _tree.getTreeView(_addXToEnd.Checked, false));
                    });
                    _buttonsToHide.ForEach(x => x.Enabled = true);
                    _timerProgress.Stop();
                    _progress.Value = _progress.Maximum;
                    MessageBox.Show("Сохранено!");
                }
            });
            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            tmpbutt = BeautyfyForms.AddButton(" Импорт .index ", new Point(160, 180), async(o, k) =>
            {
                OpenFileDialog openDic = new OpenFileDialog();
                openDic.Multiselect    = false;
                openDic.Filter         = string.Format("{0} (*.{1})|*.{1}", "Index файл", "index");
                if (openDic.ShowDialog() == DialogResult.OK)
                {
                    _buttonsToHide.ForEach(x => x.Enabled = false);
                    var openedFile = System.IO.Path.ChangeExtension(openDic.FileName, null);
                    var indexFile  = openedFile + ".index";
                    var baseFile   = openedFile + ".base";
                    _timerProgress.Start();
                    var state = await Task.Run(() => LoadIndexFile(indexFile, baseFile));

                    if (state != false)
                    {
                        MessageBox.Show("Готово! Дерево загружено.");
                    }
                    else
                    {
                        MessageBox.Show("Ошибка загрузки дерева.");
                        return;
                    }

                    _timerProgress.Stop();
                    _progress.Value = _progress.Maximum;
                    _buttonsToHide.ForEach(x => x.Enabled = true);
                }
            });

            //_buttonsToHide.Add(tmpbutt);
            //form.Controls.Add(tmpbutt);

            _progress = BeautyfyForms.AddProgressBar(new Point(300, 180), form.Size, 0, 10);
            form.Controls.Add(_progress);

            _timerProgress = BeautyfyForms.CreateTimer((sender, EventArgs) =>
            {
                if (_progress.Value >= _progress.Maximum)
                {
                    _progress.Value = 0;
                }
                else
                {
                    _progress.Value = _progress.Value + 1;
                }
            });

            _addInput = BeautyfyForms.CreateTextBox(new Point(150, 43), false);
            form.Controls.Add(_addInput);

            _deleteInput = BeautyfyForms.CreateTextBox(new Point(150, 73), false);
            form.Controls.Add(_deleteInput);

            _checkInput = BeautyfyForms.CreateTextBox(new Point(150, 103), false);
            form.Controls.Add(_checkInput);

            treeViewer = BeautyfyForms.CreateMLTextBox(new Point(5, 250 + 5), 780, 400);
            form.Controls.Add(treeViewer);

            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(150, 145), "Добавлять Х в качестве null-ветвей", true, 190));

            _addXToEnd = BeautyfyForms.CreateCheckBox(new Point(340, 140), false);
            form.Controls.Add(_addXToEnd);

            _addedWords = BeautyfyForms.AddListBox(new Point(500, 20), new Size(200, 250));
            _addedWords.MouseDoubleClick += (x, y) =>
            {
                if (_addedWords.SelectedItem != null)
                {
                    MessageBox.Show(_addedWords.SelectedItem.ToString());
                }
            };
            form.Controls.Add(_addedWords);
        }
示例#2
0
        public void LocateControls(Form form, ConsoleHandler console)
        {
            form.Text = "Задание № 1 и 2";
            form.SetDefaultVals(new System.Drawing.Size(800, 500));
            form.Controls.Add(BeautyfyForms.AddButton("Инициализация", new Point(0, 10), (o, k) =>
            {
                _inputG.Text = "64";  //G
                _inputA.Text = "122"; //H
                _inputM.Text = "607"; //P
                if (!_autoFindN.Checked)
                {
                    _inputN.Text = "101";//N
                }

                Log("Инициализовали параметры стандартными значениями");
            }));

            form.Controls.Add(BeautyfyForms.AddButton("Очистить лог", new Point(0, 43), (o, k) =>
            {
                logLstBox.Items.Clear();
            }));

            form.Controls.Add(BeautyfyForms.AddButton(" Суть ", new Point(150, 10), (o, k) =>
            {
                MessageBox.Show("Задача № 1 и 2. ρ - метод Полларда (обычный и параллельный) \r\n Найти такой х, что g^x = a % m ");
            }));

            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(310, 10), "g", true, 10));
            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(410, 10), "a", true, 25));
            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(520, 10), "m", true, 30));
            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(640, 10), "n", true, 30));
            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(705, 10), "Автоподбор n", true, 100));

            _inputG      = BeautyfyForms.CreateTextBox(new Point(270, 33), false);
            _inputG.Text = "0";
            form.Controls.Add(_inputG);

            _inputA      = BeautyfyForms.CreateTextBox(new Point(380, 33), false);
            _inputA.Text = "0";
            form.Controls.Add(_inputA);

            _inputM      = BeautyfyForms.CreateTextBox(new Point(490, 33), false);
            _inputM.Text = "0";
            form.Controls.Add(_inputM);

            _inputN      = BeautyfyForms.CreateTextBox(new Point(600, 33), false);
            _inputN.Text = "0";
            form.Controls.Add(_inputN);

            _autoFindN = BeautyfyForms.CreateCheckBox(new Point(740, 33), false);
            _autoFindN.CheckedChanged += (o, k) =>
            {
                if (_autoFindN.Checked)
                {
                    _inputN.ReadOnly = true;
                    _inputN.Text     = "-1";
                }
                else
                {
                    _inputN.ReadOnly = false;
                    _inputN.Text     = "0";
                }
            };
            form.Controls.Add(_autoFindN);

            logLstBox = BeautyfyForms.AddListBox(new Point(0, 150 + 5), form.Size);
            logLstBox.MouseDoubleClick += (x, y) =>
            {
                if (logLstBox.SelectedItem != null)
                {
                    MessageBox.Show(logLstBox.SelectedItem.ToString());
                }
            };
            form.Controls.Add(logLstBox);

            form.Controls.Add(BeautyfyForms.AddButton(" Поехали (обычный) ", new Point(410, 63), (o, k) =>
            {
                ParseAndRunPollard(false);
            }));

            form.Controls.Add(BeautyfyForms.AddButton(" Поехали (параллельный) ", new Point(410, 93), (o, k) =>
            {
                ParseAndRunPollard(true);
            }));
        }
        public void LocateControls(Form form, ConsoleHandler console)
        {
            form.Text = "Алгоритм Диксона - Курсовая работа";
            form.SetDefaultVals(new System.Drawing.Size(800, 500));

            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(40, 10), "Число для факторизации (2 - 2147483647)", true, 250));
            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(70, 56), "Кол-во потоков (1-100)", true, 150));


            _inputNumber       = BeautyfyForms.CreateNumericUpDown(new Point(70, 33), 2, 2147483647, false);
            _inputNumber.Value = 2;
            form.Controls.Add(_inputNumber);

            _inputThreads       = BeautyfyForms.CreateNumericUpDown(new Point(70, 79), 1, 100, false);
            _inputThreads.Value = 1;
            form.Controls.Add(_inputThreads);

            form.Controls.Add(BeautyfyForms.AddButton("Инициализация", new Point(300, 20), (o, k) =>
            {
                _inputNumber.Value  = 2;
                _inputThreads.Value = 1;
                Log("Инициализовали параметры стандартными значениями");
            }));

            form.Controls.Add(BeautyfyForms.AddButton(" Факторизовать ", new Point(290, 55), (o, k) =>
            {
                ParseAndRunDixon();
            }));

            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(280, 90), "Считать кол-во операций", true, 150));

            _calculateOperations = BeautyfyForms.CreateCheckBox(new Point(350, 105), false);
            form.Controls.Add(_calculateOperations);

            form.Controls.Add(BeautyfyForms.AddButton(" О программе ", new Point(545, 20), (o, k) =>
            {
                string buffer = "Курсовая работа по предмету `Математические основы защиты информации и информационная безопасность`" + '\n';
                buffer       += "Алгоритм Диксона." + '\n';
                buffer       += "Данный алгоритм предназначен для факторизации натуральных чисел" + '\n';
                buffer       += "Выполнил: " + ConfigurationManager.AppSettings["Author"] + ", группа " + ConfigurationManager.AppSettings["Group"];
                MessageBox.Show(buffer);
            }));

            form.Controls.Add(BeautyfyForms.AddButton("Очистить лог", new Point(550, 55), (o, k) =>
            {
                logLstBox.Items.Clear();
            }));

            form.Controls.Add(BeautyfyForms.AddButton("Кол-во операций -> буфер обмена", new Point(470, 90), (o, k) =>
            {
                var researchData = new List <string>();
                foreach (string item in logLstBox.Items)
                {
                    if (item.Contains("Общее кол-во выполненых операций"))
                    {
                        researchData.Add(item);
                    }
                }
                if (researchData.Count > 0)
                {
                    System.Windows.Forms.Clipboard.SetText(string.Join("\r\n", researchData));
                    MessageBox.Show("Скопировано!");
                }
                else
                {
                    MessageBox.Show("Подходящие сообщения отсутствуют.");
                }
            }));

            logLstBox = BeautyfyForms.AddListBox(new Point(0, 150 + 5), form.Size);
            logLstBox.MouseDoubleClick += (x, y) =>
            {
                if (logLstBox.SelectedItem != null)
                {
                    MessageBox.Show(logLstBox.SelectedItem.ToString());
                }
            };
            form.Controls.Add(logLstBox);
        }
示例#4
0
        public void LocateControls(Form form, ConsoleHandler console)
        {
            form.Text = "Задание № 2";
            form.SetDefaultVals(new System.Drawing.Size(800, 500));
            var tmpbutt = BeautyfyForms.AddButton("Очистить дерево", new Point(0, 10), (o, k) =>
            {
                _tree = new BinaryTree <int?, SelfOrganizeIndexNode>(null, default(SelfOrganizeIndexNode));
                treeViewer.Clear();
            });

            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            form.Controls.Add(BeautyfyForms.AddButton(" Суть ", new Point(200, 10), (o, k) =>
            {
                MessageBox.Show("Задача № 2. Параграф 6.2.2, алгоритм D (удаление узла дерева)");
            }));

            tmpbutt = BeautyfyForms.AddButton("Сгенерировать дерево (N элементное)", new Point(0, 40), (o, k) =>
            {
                if (string.IsNullOrEmpty(_randomInput.Text))
                {
                    MessageBox.Show("Введите кол-во элементов для добавления");
                    return;
                }

                if (string.IsNullOrEmpty(_randomMin.Text))
                {
                    MessageBox.Show("Введите минимальное число");
                    return;
                }

                if (string.IsNullOrEmpty(_randomMax.Text))
                {
                    MessageBox.Show("Введите максимальное число");
                    return;
                }

                int min = 0, max = 0;
                try
                {
                    min = int.Parse(_randomMin.Text);
                    max = int.Parse(_randomMax.Text);
                }
                catch
                {
                    MessageBox.Show("Пределы не валидны");
                    return;
                }

                var text = _randomInput.Text;
                int res;

                if (int.TryParse(text, out res))
                {
                    if (Math.Abs(min - max) < res)
                    {
                        MessageBox.Show("Cлющай, став нармалные пределы, окда?");
                        return;
                    }

                    _buttonsToHide.ForEach(x => x.Enabled = false);
                    _timerProgress.Start();
                    treeViewer.Clear();

                    Task.Run(() =>
                    {
                        _tree = new BinaryTree <int?, SelfOrganizeIndexNode>(null, default(SelfOrganizeIndexNode));
                        GenerateRandomTree(res, min, max);
                    }).ContinueWith(result =>
                    {
                        treeViewer.BeginInvoke(new MethodInvoker(() => treeViewer.Text = (_tree != null) ? _tree.getTreeView(_addXToEnd.Checked) : ""));
                    });

                    _buttonsToHide.ForEach(x => x.Enabled = true);
                    _timerProgress.Stop();
                    _progress.Value = _progress.Maximum;
                    MessageBox.Show("Сгенерили!");
                }
                else
                {
                    MessageBox.Show("Это было не число, да?..");
                    return;
                }
            });

            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            tmpbutt = BeautyfyForms.AddButton("Удалить значение", new Point(0, 70), (o, k) =>
            {
                if (string.IsNullOrEmpty(_singleInput.Text))
                {
                    MessageBox.Show("Нет текста для поиска");
                    return;
                }

                var text = _singleInput.Text;
                int res;

                if (int.TryParse(text, out res))
                {
                    //RemoveNode(res);
                    RemoveNodeRewritten(res);

                    if (_tree == null)
                    {
                        _tree = new BinaryTree <int?, SelfOrganizeIndexNode>(null, default(SelfOrganizeIndexNode));
                    }

                    //funny but let`s skip this~
                    treeViewer.Text = (_tree != null) ? _tree.getTreeView(_addXToEnd.Checked) : "";
                }
                else
                {
                    MessageBox.Show("Это было не число, да?..");
                    return;
                }
            });

            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            tmpbutt = BeautyfyForms.AddButton("Отобразить деревце", new Point(0, 100), (o, k) =>
            {
                treeViewer.Text = (_tree != null) ? _tree.getTreeView(_addXToEnd.Checked) : "";
            });
            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            tmpbutt = BeautyfyForms.AddButton(" Импорт ", new Point(0, 140), (o, k) =>
            {
                var keys = new List <int>();
                Helper.LoadFile("Список ключей", "keylst", keys);

                foreach (var key in keys)
                {
                    AddNewValue(key, default(SelfOrganizeIndexNode));
                }

                treeViewer.Text = (_tree != null) ? _tree.getTreeView(_addXToEnd.Checked) : "";
            });
            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            tmpbutt = BeautyfyForms.AddButton(" Экспорт ", new Point(80, 140), (o, k) =>
            {
                SaveFileDialog saveFile = new SaveFileDialog();
                saveFile.Filter         = string.Format("{0} (*.{1})|*.{1}", "Бинарное деревце", "btree");
                if (saveFile.ShowDialog() == DialogResult.OK)
                {
                    _buttonsToHide.ForEach(x => x.Enabled = false);
                    _timerProgress.Start();

                    Task.Run(() =>
                    {
                        System.IO.File.WriteAllText(saveFile.FileName, _tree.getTreeView(_addXToEnd.Checked, false));
                    });
                    _buttonsToHide.ForEach(x => x.Enabled = true);
                    _timerProgress.Stop();
                    _progress.Value = _progress.Maximum;
                    MessageBox.Show("Сохранено!");
                }
            });
            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            tmpbutt = BeautyfyForms.AddButton(" Импорт .index ", new Point(160, 140), async(o, k) =>
            {
                OpenFileDialog openDic = new OpenFileDialog();
                openDic.Multiselect    = false;
                openDic.Filter         = string.Format("{0} (*.{1})|*.{1}", "Index файл", "index");
                if (openDic.ShowDialog() == DialogResult.OK)
                {
                    _buttonsToHide.ForEach(x => x.Enabled = false);
                    var openedFile = System.IO.Path.ChangeExtension(openDic.FileName, null);
                    var indexFile  = openedFile + ".index";
                    var baseFile   = openedFile + ".base";
                    _timerProgress.Start();
                    var state = await Task.Run(() => LoadIndexFile(indexFile, baseFile));

                    if (state != false)
                    {
                        MessageBox.Show("Готово! Дерево загружено.");
                    }
                    else
                    {
                        MessageBox.Show("Ошибка загрузки дерева.");
                        return;
                    }

                    _timerProgress.Stop();
                    _progress.Value = _progress.Maximum;
                    _buttonsToHide.ForEach(x => x.Enabled = true);
                }
            });

            _buttonsToHide.Add(tmpbutt);
            form.Controls.Add(tmpbutt);

            _progress = BeautyfyForms.AddProgressBar(new Point(300, 140), form.Size, 0, 10);
            form.Controls.Add(_progress);

            _timerProgress = BeautyfyForms.CreateTimer((sender, EventArgs) =>
            {
                if (_progress.Value >= _progress.Maximum)
                {
                    _progress.Value = 0;
                }
                else
                {
                    _progress.Value = _progress.Value + 1;
                }
            });
            _randomInput      = BeautyfyForms.CreateTextBox(new Point(290, 43), false);
            _randomInput.Text = "20";
            form.Controls.Add(_randomInput);

            _randomMin      = BeautyfyForms.CreateTextBox(new Point(400, 43), false);
            _randomMin.Text = "1";
            form.Controls.Add(_randomMin);

            _randomMax      = BeautyfyForms.CreateTextBox(new Point(510, 43), false);
            _randomMax.Text = "100";
            form.Controls.Add(_randomMax);

            _singleInput = BeautyfyForms.CreateTextBox(new Point(150, 73), false);
            form.Controls.Add(_singleInput);

            treeViewer = BeautyfyForms.CreateMLTextBox(new Point(5, 250 + 5), 780, 200);
            form.Controls.Add(treeViewer);

            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(150, 105), "Добавлять Х в качестве null-ветвей", true, 190));

            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(330, 20), "N", true, 10));
            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(430, 20), "Min", true, 25));
            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(540, 20), "Max", true, 30));

            _addXToEnd = BeautyfyForms.CreateCheckBox(new Point(340, 100), false);
            form.Controls.Add(_addXToEnd);
        }
        public void LocateControls(Form form, ConsoleHandler console)
        {
            form.Text = "Задание № 4";
            form.SetDefaultVals(new System.Drawing.Size(800, 500));
            form.Controls.Add(BeautyfyForms.AddButton("Случайное уравнение", new Point(0, 10), (o, k) =>
            {
                var tuple    = SelectRandomEquation();
                _inputH.Text = tuple.Item1.ToString();
                _inputG.Text = tuple.Item2.ToString();
                _inputP.Text = tuple.Item3.ToString();

                Log("Инициализовали параметры заготовленными значениями");
            }));

            form.Controls.Add(BeautyfyForms.AddButton("Очистить лог", new Point(0, 43), (o, k) =>
            {
                logLstBox.Items.Clear();
            }));

            form.Controls.Add(BeautyfyForms.AddButton(" Суть ", new Point(170, 10), (o, k) =>
            {
                MessageBox.Show("Задача № 4 Алгоритм Полига-Хеллмана \r\n Найти такой х, что H = G^x (mod P) ");
            }));

            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(310, 10), "H", true, 10));
            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(410, 10), "G", true, 25));
            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(520, 10), "P", true, 30));
            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(705, 100), "Очищать лог", true, 100));

            _inputH      = BeautyfyForms.CreateTextBox(new Point(270, 33), false);
            _inputH.Text = "0";
            form.Controls.Add(_inputH);

            _inputG      = BeautyfyForms.CreateTextBox(new Point(380, 33), false);
            _inputG.Text = "0";
            form.Controls.Add(_inputG);

            _inputP      = BeautyfyForms.CreateTextBox(new Point(490, 33), false);
            _inputP.Text = "0";
            form.Controls.Add(_inputP);

            _keepLog = BeautyfyForms.CreateCheckBox(new Point(740, 115), false);
            form.Controls.Add(_keepLog);

            logLstBox = BeautyfyForms.AddListBox(new Point(0, 150 + 5), form.Size);
            logLstBox.MouseDoubleClick += (x, y) =>
            {
                if (logLstBox.SelectedItem != null)
                {
                    MessageBox.Show(logLstBox.SelectedItem.ToString());
                }
            };
            form.Controls.Add(logLstBox);

            form.Controls.Add(BeautyfyForms.CreateLabel(new Point(380, 63), "H = G^x (mod P)", true, 100));

            form.Controls.Add(BeautyfyForms.AddButton(" Поехали ", new Point(380, 93), (o, k) =>
            {
                ParseAndRunPohligHellman();
            }));
        }