PDA

Просмотр полной версии : Просьба помочь...



pakko
13.02.2011, 11:07
Помогите с такой задачей.
Язык С# али Java
Необходимо: динамически формируемая форма.
Т.е. я в процедуру закидываю массив (какие кнопочки, поля в форму добавить, а он должен мне по этому массиву сформировать необходимое мне форму. Подскажите хотя бы направление как это сделать.
Можно сделать на HTML, но охота освоить эти языки.

Заранее большое человеческое спасибо.

feamorx86
26.03.2011, 00:51
Пример можешь глянуть прям в студии (например, если ты ею пользуешься).
Создаешь через мастер приложение - win Forms, накидываешь кнопочки,...
(создай пару обработчиков, тоже полезно будет). Затем начинаешь изучать по строчечкам полученный код, особенно вглядываясь в (если форма Form1.cs) в Form1.Designer.cs - это и есть генерация формы.

например генерация кнопки:

private void InitializeComponent()
{
//
// buttonAdd
//
this.buttonAdd.Location = new System.Drawing.Point(12, 373);
this.buttonAdd.Name = "buttonAdd";
this.buttonAdd.Size = new System.Drawing.Size(75, 23);
this.buttonAdd.TabIndex = 1;
this.buttonAdd.Text = "Добавить";
this.buttonAdd.UseVisualStyleBackColor = true;
this.buttonAdd.Click += new
System.EventHandler(this.buttonAdd_Click);
}


В конце кода описана переменная для работы с кнопкой:
private System.Windows.Forms.Button buttonAdd;

в конце
private void InitializeComponent()

описано добавление кнопок на форму:
// Form1
//
this.ClientSize = new System.Drawing.Size(262, 428);
this.Controls.Add(this.buttonDelete);
this.Controls.Add(this.buttonAdd);
this.Controls.Add(this.listBoxCollection);

this.Name = "Form1";

если у тебя неизвестное количество кнопок (да и не кнопок может быть а Labal-ов)) ) получается примерно следующее

- передаешь что нужно создавать (int 1-кнопка, 2 - textbox,....)
в зависимости от этого создаёшь то или иное.
- передаешь параметры (положение, надпист, многострочная ли, название обработчика...)
в зависимости от типа контрола (кнопка, текстбокс...) устанавливаешь те или иные параметры.
- добавляешь контрол к
SomeForm.Controls.Add(SomeNewControl);
- всё))

pakko
03.04.2011, 12:09
А можно ли какой нить пример уже в готовом коде?
Просто есть несколько вопросов - обработчик нажатия в любом случае будет у всех один, который должен как то понять, на что нажали.
А также для строк обработчиков будет несколько: ввели значение - всё, уже должен быть вызван обработчик. а как быть с кнопками выбора/очистки/просмотра значения. Понятно, что их можно добавлять как отдельные кнопки, но...