Динамически созданная форма не принимает значения - C#

Узнай цену своей работы

Формулировка задачи:

Добрый вечер, прошу вас помочь с данной проблемой: Есть код, который разбивает строку по словам и заносит каждое из них в массив words, затем эти строки используются для редактирования свойств новоиспеченной формы:
Листинг программы
  1. Form f2 = new Form();
  2. if (words[0] == "CS") f2.StartPosition = FormStartPosition.CenterScreen;
  3. if (words[0] == "Def") f2.StartPosition = FormStartPosition.WindowsDefaultLocation;
  4. if (words[1] == "None") f2.FormBorderStyle = FormBorderStyle.None;
  5. if (words[1] == "Def") f2.FormBorderStyle = FormBorderStyle.Sizable;
  6. if (words[1] == "FxDlg") f2.FormBorderStyle = FormBorderStyle.FixedDialog;
  7. if (words[1] == "FxTW") f2.FormBorderStyle = FormBorderStyle.FixedToolWindow;
  8. if (words[1] == "STW") f2.FormBorderStyle = FormBorderStyle.SizableToolWindow;
  9. f2.Opacity = Convert.ToDouble(words[2]);
  10. f2.Show();
Дело в том, что какие бы параметры я не указывал, форма принимает стандартные: позиция - WindowsDefaultLocation, рамка - Sizable, прозрачность - 100, в любом случае. Что нужно сделать, чтобы эти свойства изменялись? Заранее спасибо.

Решение задачи: «Динамически созданная форма не принимает значения»

textual
Листинг программы
  1. using System;
  2. using System.Collections.ObjectModel;
  3. using System.Drawing;
  4. using System.Linq;
  5. using System.Text.RegularExpressions;
  6. using System.Threading.Tasks;
  7. using System.Windows.Forms;
  8.  
  9. namespace Terminal
  10. {
  11.     public partial class Form1 : Form
  12.     {
  13.         public Form1()
  14.         {
  15.             InitializeComponent();
  16.            
  17.         }
  18.  
  19.         private void CmdPromt_KeyDown(object sender, KeyEventArgs e)
  20.         {
  21.  
  22.             if (e.KeyCode == Keys.Enter)
  23.             {
  24.              
  25.                     if (CmdPromt.Text.Contains("new_Form"))
  26.                     {
  27.                         String result1 = Regex.Replace(CmdPromt.Text, @"D(?<name>[^>]+)rm", String.Empty);
  28.                         if (result1 != null)
  29.                         {
  30.                            // String result2 = Regex.Replace(result1, @"](?<name>[^>]+)]", String.Empty);
  31.                             String[] words = result1.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
  32.  
  33.                             Form f2 = new Form();
  34.                                                    
  35.                            
  36.                             if (words[0] == "CS") f2.StartPosition = FormStartPosition.CenterScreen;
  37.                             if (words[0] == "Def") f2.StartPosition = FormStartPosition.WindowsDefaultLocation;
  38.  
  39.                             if (words[1] == "None") f2.FormBorderStyle = FormBorderStyle.None;
  40.                             if (words[1] == "Def") f2.FormBorderStyle = FormBorderStyle.Sizable;
  41.                             if (words[1] == "FxDlg") f2.FormBorderStyle = FormBorderStyle.FixedDialog;
  42.                             if (words[1] == "FxTW") f2.FormBorderStyle = FormBorderStyle.FixedToolWindow;
  43.                             if (words[1] == "STW") f2.FormBorderStyle = FormBorderStyle.SizableToolWindow;
  44.  
  45.                             f2.Opacity = Convert.ToDouble(words[2]);
  46.  
  47.                             f2.Show();
  48.                         }
  49.                     }
  50.  
  51.                 }
  52.  
  53.             }
  54.         }
  55. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.3 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы