Свои контролы в C# (работа с ними из дизайнера)
От: AndrewZomb  
Дата: 14.01.08 10:52
Оценка:
Недавно начал работать с C# и
накопилось вот несколько вопросов, может поможет кто:
1) Свойства своих классов в дизайнере
Есть мой контрол (MyControl) — лейбл имеющий рамку и текст которые умеют моргать и менять цвета, наследованный от UserControl, который использует мои классы не наследованные ни от чего (MyText, MyBorder) — они собственно и умеют моргать и менять цвета
Так вот — как заставить дизайнер отображать и изменять свойства MyText и MyBorder, чтобы они выбирались в ToolBox'е как выпадающий список свойств, а не определяя свойства этих классов как свойства MyControl?

2) Групповое переименование контролов в дизайнере
Есть тот же MyControl. На форме их может быть очень много (20-60 штук), разделенных на группы по именам (т.е. MyControl_A1..n, MyControl_B1..n, MyControl_C1..n) и они кидаются на форму вручную (в основном Ctrl+C, Ctrl+V)
Как сделать так, чтобы можно было переименовать группу контролов (MyControl1..n) -> (MyControl_A1..n), или, если можно написать, чтобы при копировании контрола копировались не только свойства но и имя его, тока индекс новый?

3) Индексация контролов
Как получить доступ к одному контролу из группы (могут быть в разных контейнерах типа панель) по индексу?
Придумал только вариант выделения индекса из имени контрола:

  Control[] cc;
  for (int i = 1; i < n+1; i++)
  {
      cc = this.Controls.Find("MyControl" + i.ToString(), true);
      if (cc.Length == 0) continue;
      
      MyControls.MyControl objControl;
      objControl = (MyControls.MyControl)cc[0];
  }

может вы знаете лучший вариант?

Заранее спасибо всем отвечающим.

15.01.08 10:51: Перенесено модератором из '.NET' — Хитрик Денис
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.