Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Добавление компонентов в runtime


Автор: 3she1on 11.12.2008, 17:07
Всем доброго времени суток! Столкнулся с вот такой задачей: пишу клиент-серверное приложение. взаимодействие между ними происходит с помощью запросов/ответов в формате xml. в чем, собственно, проблема... на стороне клиента необходимо, опираясь на пропарсенные ответы с сервера, во время выполнения добавлять некоторые элементы (собственные UserControl), которые будут содержать информацию (иконка, кое какое описание) присланную сервером, и будут кликабельны. Итак, вопросы:
    Как корректно во время выполнения приложения добавлять свои ЮзерКонтролы?
    Как динамически во время выполнения лепить к ним обработчики событий (для каждого контрола однотипное действие но с уникальным резальтатом.  Допустим, при клике - переход по ссылке, но для каждого контрола - своя ссылка)?

Приложение пишется под dotNet CF

Заранее благодарен.

Автор: Partizan 11.12.2008, 17:19
3she1on, 

псевдокод:

Код

Имя_Класса_Контрола имяКонтрола = new Имя_Класса_Контрола();
имяКонтрола.СвойствоХранящееСсылку = new Ссылка(...);
имяКонтрола.СобытиеКлика += new EventHandler(обработчик);

объектКлассаForm.Controls.Add(имяКонтрола);

...

void обработчик(object sender, EventArgs e)
{
    if (!(sender is Имя_Класса_Контрола))
      return;
   
   Имя_Класса_Контрола имяКонтрола = sender as Имя_Класса_Контрола;
   ну и дальше любые действия с контролом...
}

Автор: 3she1on 11.12.2008, 17:27
Партизан, не представляете как я Вам благодарен )  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)