.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:   
 
 
            }
 
 
 
        }

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


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

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

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