Правильный импорт контрола C# в проект
От: Arkadiyl  
Дата: 18.08.03 09:26
Оценка:
Приветствую всех!

Не подскажите, как правильно добавить в проект существующие файлы исходника, реализующие контрол, что бы он отобразидся нормально в toolbox — My user controls. У меня почему то не получается это сделать. Иногда через некоторое время они появляются самостоятельно, иногда вообще их нет и заставить появиться не удается.


25.12.03 11:16: Перенесено модератором из '.NET' — AVK
Re: Правильный импорт контрола C# в проект
От: mihailik Украина  
Дата: 18.08.03 13:46
Оценка:
A> Иногда через некоторое время они появляются самостоятельно, иногда вообще их нет и заставить появиться не удается.

Если среда в состоянии просечь, что класс в файле — наследник UserControl, то он появится. А если в файле несколько классов, или предок класса не известен среде, то извини.

Чтобы добавить на форму любой компонент не из Toolbox я делаю так.

1. Кидаю на форму Process.
2. Захожу в код, переправляю:

/* старое:
System.Diagnostics.Process process1; */
MyComponent process1;


3. Расплюсовываю InitializeComponents, исправляю:

/* старое:
this.process1 = new System.Diagnostics.Process();
this.process1.SynchronizingObject = this; */
this.process1=new MyComponent();


А потом уже в дизайнере переименовываю его как надо, свойства добавляю. Добавлять не-компоненты, то есть классы, не реализующие IComponent нельзя. А компоненты, включая визуальные контролы и невизуальные собственно компоненты — можно добавлять.
... << RSDN@Home 1.1 beta 1 >>
Re[2]: Правильный импорт контрола C# в проект
От: Arkadiyl  
Дата: 18.08.03 15:30
Оценка:
Здравствуйте, mihailik, Вы писали:

A>> Иногда через некоторое время они появляются самостоятельно, иногда вообще их нет и заставить появиться не удается.


M>Если среда в состоянии просечь, что класс в файле — наследник UserControl, то он появится. А если в файле несколько классов, или предок класса не известен среде, то извини.


M>Чтобы добавить на форму любой компонент не из Toolbox я делаю так.


M>1. Кидаю на форму Process.

M>2. Захожу в код, переправляю:

M>
M>/* старое:
M>System.Diagnostics.Process process1; */
M>MyComponent process1;
M>


M>3. Расплюсовываю InitializeComponents, исправляю:


M>
M>/* старое:
M>this.process1 = new System.Diagnostics.Process();
M>this.process1.SynchronizingObject = this; */
M>this.process1=new MyComponent();
M>


M>А потом уже в дизайнере переименовываю его как надо, свойства добавляю. Добавлять не-компоненты, то есть классы, не реализующие IComponent нельзя. А компоненты, включая визуальные контролы и невизуальные собственно компоненты — можно добавлять.


Вообще у меня все проще. Есть разработанный производный от DataGrid компонент. Хочу впихнуть его в беловой проект и фиг. В toolbox он не появляется. Можно его внедрить принудительно, но как поведет себя дизайнер при работе с основным проектом при изменении компонента с solution?! Я честно говоря уже намучился с финтами дизайнера, который эпизодически чем-то недоволен и выкидывает из форм мои компоненты. А при столь принудительной линковки ждать можно чего угодно. Кстати, а проблем м проподанием своих компонент не бывает?
Re[3]: Правильный импорт контрола C# в проект
От: Poudy Россия  
Дата: 19.08.03 08:15
Оценка: 2 (1)
Здравствуйте, Arkadiyl, Вы писали:

A>Вообще у меня все проще. Есть разработанный производный от DataGrid компонент. Хочу впихнуть его в беловой проект и фиг. В toolbox он не появляется. Можно его внедрить принудительно, но как поведет себя дизайнер при работе с основным проектом при изменении компонента с solution?! Я честно говоря уже намучился с финтами дизайнера, который эпизодически чем-то недоволен и выкидывает из форм мои компоненты. А при столь принудительной линковки ждать можно чего угодно. Кстати, а проблем м проподанием своих компонент не бывает?


Может я глупое говорю, но можно драгнуть создать в Toolbox новую Tab и драгнуть туда свою Dll'ку. А на автоматическое My user controls забить.
Re[3]: Правильный импорт контрола C# в проект
От: mihailik Украина  
Дата: 19.08.03 08:54
Оценка:
A>Вообще у меня все проще. Есть разработанный производный от DataGrid компонент. Хочу впихнуть его в беловой проект и фиг. В toolbox он не появляется. Можно его внедрить принудительно, но как поведет себя дизайнер при работе с основным проектом при изменении компонента с solution?!

Так же, как и при "непринудительном" внедрении. Результат-то один: в коде появляются те строки, что я показывал.

A>Я честно говоря уже намучился с финтами дизайнера, который эпизодически чем-то недоволен и выкидывает из форм мои компоненты. А при столь принудительной линковки ждать можно чего угодно. Кстати, а проблем м проподанием своих компонент не бывает?


Это бывает. Глюки, глюки... И чем запутанней связи между компонентами/сборками/солючинами, тем сильнее глючит.
... << RSDN@Home 1.1 beta 1 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.