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

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

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

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

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

textual
Листинг программы
using System;
using System.Collections.ObjectModel;
using System.Drawing;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Terminal
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            
        }
 
        private void CmdPromt_KeyDown(object sender, KeyEventArgs e)
        {
 
            if (e.KeyCode == Keys.Enter)
            {
              
                    if (CmdPromt.Text.Contains("new_Form"))
                    {
                        String result1 = Regex.Replace(CmdPromt.Text, @"D(?<name>[^>]+)rm", String.Empty);
                        if (result1 != null)
                        {
                           // String result2 = Regex.Replace(result1, @"](?<name>[^>]+)]", String.Empty);
                            String[] words = result1.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
 
                            Form f2 = new Form(); 
                                                    
                            
                            if (words[0] == "CS") f2.StartPosition = FormStartPosition.CenterScreen;
                            if (words[0] == "Def") f2.StartPosition = FormStartPosition.WindowsDefaultLocation;
 
                            if (words[1] == "None") f2.FormBorderStyle = FormBorderStyle.None;
                            if (words[1] == "Def") f2.FormBorderStyle = FormBorderStyle.Sizable;
                            if (words[1] == "FxDlg") f2.FormBorderStyle = FormBorderStyle.FixedDialog;
                            if (words[1] == "FxTW") f2.FormBorderStyle = FormBorderStyle.FixedToolWindow;
                            if (words[1] == "STW") f2.FormBorderStyle = FormBorderStyle.SizableToolWindow;
 
                            f2.Opacity = Convert.ToDouble(words[2]);
 
                            f2.Show(); 
                        }
                    }
 
                }
 
            }
        }
}

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


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

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

10   голосов , оценка 4.3 из 5
Похожие ответы