Динамически созданная форма не принимает значения - C#
Формулировка задачи:
Добрый вечер, прошу вас помочь с данной проблемой:
Есть код, который разбивает строку по словам и заносит каждое из них в массив words, затем эти строки используются для редактирования свойств новоиспеченной формы:
Дело в том, что какие бы параметры я не указывал, форма принимает стандартные: позиция - WindowsDefaultLocation, рамка - Sizable, прозрачность - 100, в любом случае. Что нужно сделать, чтобы эти свойства изменялись? Заранее спасибо.
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();Решение задачи: «Динамически созданная форма не принимает значения»
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();
}
}
}
}
}
}