Динамически созданная форма не принимает значения - 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(); } } } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д