| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > Назначение классам иконки для Панели элементов |
| Автор: Compositum 27.2.2008, 15:17 |
| я создал пространство имен, которое, в свою очередь, содержит др. пространства имен. классы созданные мною распределены по пространствам... Каждый класс имеет свое назначение. Хотелось бы, чтобы каждый класс имел свою иконку, после того, как он оказывается на панели элементов... Если просто свою библиотеку добавлять - контролы отображаются одинаковым значком (шестеренкой). Каким образом прописывается, какому классу какая иконка соответствует? ![]() |
| Автор: Voyager 6.3.2008, 17:57 | ||
Установить картинку контрола в Toolbox можно следующеми способами:
Пора уже на главную страницу вешать. |
| Автор: Compositum 6.3.2008, 18:56 | ||
| спасибо. сейчас пробую сижу. вопрос: я ведь создаю свою отдельную библиотеку классов. т.о. целесообразней было бы, как мне кажется, хранить все изображения в файле ресурсов. Было бы здорово, если бы можно было ссылаться на них, а не думать о том, что нужно прежде кинуть куда-то на комп изображение... Пробовал так:
Но не хочет. т.к. параметром должна быть строка с указанием расположения файла картинки... Можно ли это обойти, и юзать изображения из ресурсов? |
| Автор: HellMasterHaiL 6.3.2008, 19:02 |
| а чем тебе не нравится третий приведенный пример? |
| Автор: Compositum 6.3.2008, 19:04 | ||
Млин... не получилось:
откомпилировал. получил dll-файл. пытаюсь его кинуть на туллбар (в др. проекте), через Choose toolbox items... не хочет. дает это: --------------------------- Microsoft Visual Studio --------------------------- There are no components in 'H:\C# 2005\Projects\ExampleLibrary\ExampleLibrary\bin\Release\ExampleLibrary.dll' that can be placed on the toolbox. --------------------------- ОК --------------------------- Что я не так сделал? |
| Автор: HellMasterHaiL 6.3.2008, 19:13 | ||||
| говорит типа нету контролов в твоей дллке... точно DocumentInfo наследует UserConterol мну делал так:
, где Des.ico явно включен в проект, а класс DataGridContextMenu наследует юзерконтрол, о чем в файле дизайнера написано:
еще мну не нравитс, что ты ему даешь входный гиф файл, попробуй бмп или исо... хотя может я сильно ошибаюсь |
| Автор: Compositum 6.3.2008, 19:21 | ||
спасибо, я как раз только обнаружил, что если изменю класс, сделав его наследуемым от юзер-контрола, то могу его кинуть на туллбокс
![]() но... тут есть загвоздка: на тулбоксе-то картинка показывается, а вот как оно на форме выглядит... хотелось бы научиться реализовывать 2 варианта: внизу, в отдельной панели (как ДатаСеты, ДатаАдаптеры и т.п.), а так же в правом верхнем углу кнопка разворачивания (как у ДатаГридВью). дабы можно было настраивать объект. Как это делается? ___________________________ п.с. третьего примера я, если честно, не понял. к тому же никогда не работал с юзер-контролом. английского не знаю, ковыряю книги, да переводчики электронные... Добавлено через 14 минут и 5 секунд этого не понял |
| Автор: HellMasterHaiL 6.3.2008, 19:46 |
| по поводу третьего примера: в папку с проектом кидаешь свою картинку. потом в Solution Explorer'e (там где у тебя отображается твой проект и все его файлы) через Add -> Existing Item включаешь свою картинку в проект и пишешь ее как показано в третьем примере как засунуть контрол в панель, как датасет, то надо его наследовать не от юзерконтрола, который есть виндавс контрол, а скажем от контролов типа System.Windows.Forms.ContextMenuStrip, либо создавать изначально CustomControl, тогда и появится кнопка разворачивания |
| Автор: Compositum 6.3.2008, 20:02 | ||
![]() но не получилось ![]() картинка не отображается. С юзер-контролами не работал, к сожалению, не подскажете, где на русском можно почитать как работать с ними? |
| Автор: HellMasterHaiL 6.3.2008, 20:04 |
| странно, у мну таким образом все отлично работаеть! |
| Автор: Compositum 7.3.2008, 10:33 |
Ока, пока что чёрт с ней (с шестеренкой), мне не нравится еще вот какой момент: чтобы мой класс мог отображаться на панели toolbox, он обязательно должен быть наследуемым от юзерКонтрола. но это не есть хорошо, поскольку объекты моего класса будут использоваться в качестве источника для PropertyGrid. А в том, случае, когда я его сделаю наследуемым от класса юзерКонтрола помимо нужных мне свойств ПропертиГрид отобразит туеву хучу свойств, наследуемых от Юзерконтрола - а это мне не нужно. Как можно это решить? |