Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наследование и дизайнер 
:(
    Опции темы
MaxWave
Дата 12.1.2007, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



Проблема такая:
Есть проект, хочу свой контрол в него добавить (не создавать отдельный проект)
Я хочу унаследоваться от класса Panel и сделать класс, к примеру MyPanel.  Где это в VS2005??? Как потом это добавить в Дизайнер? В ToolBox?

Я смотрел тут на форуме, но увидел только отдельные проекты.

И еще вопрос -  насчет разделения кода.
У меня на форме будет куча контролов, вкладки, на них много контролов. Можно ли как то все это структуризовать? Т.е. я хочу, что бы каждая вкладка была отдельным классом, который бы и обрабатывал все свое содержимое. Вообщем если есть контейнер - то его в отдельный самостоятельный класс. И как это сделать автоматически и что бы FormDesigner создавал код именно в отдельных классах, а не пихал все в Form1.h?

Это сообщение отредактировал(а) MaxWave - 12.1.2007, 00:46
PM MAIL   Вверх
awers
Дата 12.1.2007, 02:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: нет
Всего: 31



1) где сдрасти.
2) где ты там увидел Form1.h
3) в чем проблема в создании экземпляра класса?
Код

System.Windows.Forms.Form fm = new Form(); 

и так же со всем остальным... 
4) структуризируй исходя из конкретной задачи, в чем трабл тоже непонятно ... 
5) 
Цитата(MaxWave @  12.1.2007,  00:29 Найти цитируемый пост)
создавал код именно в отдельных классах, а не пихал все в Form1.h?
 Project -> Add Item ...
PM MAIL WWW ICQ Skype   Вверх
Naum
Дата 12.1.2007, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 1
Всего: 15



Цитата(awers @  12.1.2007,  03:26 Найти цитируемый пост)
где ты там увидел Form1.h

Скорее всего это C++-ный проект.  smile 


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
awers
Дата 12.1.2007, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

Репутация: нет
Всего: 31



прошу прощения ... для меня VS2005 это C#
PM MAIL WWW ICQ Skype   Вверх
MaxWave
Дата 12.1.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



Извиняюсь, не поздаровался...

Вы не так поняли. Вообще есть на форме TabPanel к примеру (да вообще, любй контейнер).
Если я буду помещать все элементы в TabPanel, то весь код будет создаваться в этом пресловутом From1.h. Со временем этот файл раздуется до неимверных размеров - мне это не нужно. 
Мне нужно все это структурировать, т.е. есди я добавляю контрол на определеную вкладку, то формдизайнер вообще не трогает Form1.h а создает код в файле, к примеру TabPage1.h  т-е добавляет код в класс наследник от TabPage.  Такое возможно? Есди да, то как именно? 

Цитата

5) Цитата(MaxWave @  12.1.2007,  00:29 )
создавал код именно в отдельных классах, а не пихал все в Form1.h?

 Project -> Add Item ...


Там можно добавить только UserControl, а класс наследник как? КАк мне этот элемент потом поместить на форму с помощью дизайнера?

Это сообщение отредактировал(а) MaxWave - 12.1.2007, 17:34
PM MAIL   Вверх
ivashkanet
Дата 12.1.2007, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 11
Всего: 149



Цитата(MaxWave @  12.1.2007,  16:27 Найти цитируемый пост)
Если я буду помещать все элементы в TabPanel, то весь код будет создаваться в этом пресловутом From1.h. Со временем этот файл раздуется до неимверных размеров - мне это не нужно. Мне нужно все это структурировать, т.е. есди я добавляю контрол на определеную вкладку, то формдизайнер вообще не трогает Form1.h а создает код в файле, к примеру TabPage1.h  т-е добавляет код в класс наследник от TabPage.  Такое возможно? Есди да, то как именно? 

Невозможно smile Так уж работает дизайнер форм. Но нормальные люди туда даже не заглядвают. Создали форму, она работает и хорошо. Зачем код дизайнера менять
Файл называется Form1.Designer.cs
Цитата(MaxWave @  12.1.2007,  16:27 Найти цитируемый пост)
Там можно добавить только UserControl

Добавляешь UserControl, на него ложишь все нужные элементы, компилишь, этот контрол появляется на вкладке Контролов в дизайнере, ложишь его на форму. Все.
Заодно и предыдущий вопрос решиться  smile 
PM MAIL WWW ICQ   Вверх
MaxWave
Дата 12.1.2007, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



Цитата

элементы, компилишь, этот контрол появляется на вкладке Контролов в дизайнере, ложишь его на форму. 


Где он появляется?  В ToolBox? Нет там его...

Я делаю так:
1) Добавил новый UserControl c именем MyUser
2) В проекте появился MyUser.h c вложенным ресурсо MyUser.resx
3) Компилю MyUser.resx

ничего не меняется. Где должен появиться контрол MyUser???
PM MAIL   Вверх
ivashkanet
Дата 12.1.2007, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 11
Всего: 149



Цитата(MaxWave @  12.1.2007,  17:28 Найти цитируемый пост)
3) Компилю MyUser.resx

бррррр 
А как?
Почему бу не скомпилить проект с UserControl-ом MyUser?
PM MAIL WWW ICQ   Вверх
reloni
Дата 12.1.2007, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 10.5.2006
Где: Москва

Репутация: 1
Всего: 4



Цитата(ivashkanet @  12.1.2007,  17:59 Найти цитируемый пост)
Файл называется Form1.Designer.cs

Я так и не понял, мы говорим о C# или о управляемом С++?smile
В общем случае, после добавления нового контрола, нужно нажать правой кнопкой по тулбоксу, выбрать там Chose items и добавить ссылку на сборку, в которой лежит контрол. Если все находится в одном проекте, то добавить ссылку на exe-шник. Контрол должен будет появиться в тулбоксе.
PM MAIL ICQ   Вверх
MaxWave
Дата 12.1.2007, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 8.3.2006

Репутация: нет
Всего: нет



Ну я компилю весь проект, но ничего не меняется. У меня в проекте и форма и контрол.
Мне нужно на эту форму поместить контрол (выйди в чат плиз... IRC: koptevo.dal.net.ru канал Vingrad)

Добавлено @ 19:27 
Все, вроде разобрался, после выбора exe-шника smile))
Теперь прикомпиляции всего проекта контрол будет компилиться автоматически 9я его код буду менять)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0880 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.