.NET 4.x Динамическое создание компонентов - C#
Формулировка задачи:
подскажите вот у меня такая проблема, надо вобщем написать программу интерфейс которой представляет собой мастер со сложным развитлением и при этом мне бы хотелось пользоватся всеми примуществами рти вот есть блок схема типо моего проекта. задача проекта загрузка информации с фтп сервера а точнее это собственый установщик всех моих программ.
но я не знаю как компоненты расположить с помощью рти (палитры компонентов) я приходимец со среды дельфай. и я решил писать все динамически, в том числе и компоненты. а как вы создает сложные развитления. для меня очень важно маленький размер. ВЕДЬ ХОРОШИЙ ПРОГРАМИСТ ДОЛЖЕН ПИСАТЬ МАЛЕНЬКИЕ ПРОГРАММЫ ВЕРНО!!!
также в дельфай был оператор который мог сокращать код например
но это можно написать сокращенно так:
подскажите как сократить код в с#
например у меня такой код:
//здесь происходи создание основных компонентов [кнопки: справка, <назад, далее>, отмена]
Button buttonHelp = new Button();
Button buttonBack = new Button();
Button buttonNext = new Button();
Button buttonClose = new Button();
Label Labels1 = new Label();
Label Labels2 = new Label();
PictureBox PictureBox1 = new PictureBox();
buttonHelp.Text = "Справка";
buttonBack.Text = "<Назад";
buttonNext.Text = "Далее>";
buttonClose.Text = "Отмена";
buttonHelp.Location = new Point(12, 296);
buttonBack.Location = new Point(250, 296);
buttonNext.Location = new Point(331, 296);
buttonClose.Location = new Point(412, 296);
Labels1.Size = new Size(317,308);
Labels1.Location = new Point(170,9);
Labels1.Text = "Вас приветствует программа установки Install Sheld";
Labels1.AutoSize = false;
Labels1.Font = new Font(Labels1.Font, Labels1.Font.Style | FontStyle.Bold);
//размер шрифта на 11.25
Labels2.Size = new Size(317, 308);
Labels2.Location = new Point(170, 59);
Labels2.Text = "Программа установки установит на ваш компьютер программу, *Cправочник радиолюбителя*";
Labels2.AutoSize = false;
buttonHelp.FlatStyle = FlatStyle.Flat;
buttonBack.FlatStyle = FlatStyle.Flat;
buttonNext.FlatStyle = FlatStyle.Flat;
buttonClose.FlatStyle = FlatStyle.Flat;
this.Controls.Add(buttonHelp);
this.Controls.Add(buttonBack);
this.Controls.Add(buttonNext);
this.Controls.Add(buttonClose);
this.Controls.Add(PictureBox1);
this.Controls.Add(Labels1);
this.Controls.Add(Labels2);
buttonHelp.Click += new EventHandler(buttons_help);
buttonBack.Click += new EventHandler(buttons_Back);
buttonNext.Click += new EventHandler(buttons_Next);
buttonClose.Click += new EventHandler(buttons_Close);
pictureBox1.Location = new Point(-1, -1);
//pictureBox1.Size.Height = 150;
} comboBox1.item.add('бла бла');
comboBox1.item.add('бла бла');
comboBox1.item.add('бла бла'); with combobox1 do
begin
item.add('бла бла');
item.add('бла бла');
item.add('бла бла');
end;Решение задачи: «.NET 4.x Динамическое создание компонентов»
textual
Листинг программы
public void ВыборПО(bool kill)
{
//добавить панель
//изменить ее цвет на СontrolDark
//и на ней распологаються 2 ком. label
if (kill == true)
{
Label Label1 = new Label();
Label1.Text = "Каталог программ";
Label1.Location = new Point(9, 5);
Label1.Size = new Size(125, 14);
this.Controls.Add(Label1);
Label Label2 = new Label();
Label2.Text = "Для продолжения установки, один из доступных продуктов и нажмите кнопку *Далее*";
Label2.Location = new Point(9, 23);
Label2.Size = new Size(447, 32);
this.Controls.Add(Label2);
DataGrid grid1 = new DataGrid();
grid1.Location = new Point(9, 101);
grid1.Size = new Size(474, 181);
//добавить колонки [Программа, Размер, Версия, Популярность]
//выбор целой строки
//убрать колонку слева
this.Controls.Add(grid1);
}
else
{
// сдесь я хотел прописать код для уничтожения но некак? чета не пойму.
label1.free;:wall:
}
}