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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как приделать значок к контролу 
:(
    Опции темы
Ch0bits
Дата 19.3.2007, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

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



Как сделать, чтобы мой контрол имел значок на палитре компонентов отличный от шестерёнки?
 smile 
PM WWW   Вверх
Idsa
Дата 19.3.2007, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Для этого нужно использовать атрибут:
[ToolboxBitmap(typeof(YourControl), "YourControl")]


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Ch0bits
Дата 19.3.2007, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

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



Это я знаю, только не помогает. Абсолютный путь тоже пробовал задавать - не работает.

Добавлено @ 12:52 
Может что-то не так с форматом значка? Какой он должен быть?
PM WWW   Вверх
Idsa
Дата 19.3.2007, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Ch0bits @  19.3.2007,  12:51 Найти цитируемый пост)
Может что-то не так с форматом значка? Какой он должен быть?

Цитата

You can apply a ToolboxBitmapAttribute to a control so that containers, such as Microsoft Visual Studio Form Designer, can retrieve an icon that represents the control. The bitmap for the icon can be in a file by itself or embedded in the assembly that contains the control. The size of the bitmap that you embed in the control's assembly (or store in a separate file) should be 16 by 16. The GetImage method of a ToolboxBitmapAttribute object can return the small 16 by 16 image or a large 32 by 32 image that it creates by scaling the small image.

Итого: 16*16.


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Ch0bits
Дата 19.3.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

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



Не находит, собака!  smile 

Где студия ищет значок???
PM WWW   Вверх
Idsa
Дата 20.3.2007, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Кинь, как ты объявляешь атрибут


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Voyager
Дата 20.3.2007, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Код

Установить картинку контрола в Toolbox можно следующеми способами:
   // Specifies the bitmap associated with the Button type.
    [ToolboxBitmap(typeof(Button))]
    class MyControl1 : UserControl  { }
    // Specifies a bitmap file.
    [ToolboxBitmap(@"C:\Documents and Settings\Joe\MyPics\myImage.bmp")]
    class MyControl2 : UserControl  { }
    // Specifies a type that indicates the assembly to search, and the name 
    // of an image resource to look for.
    [ToolboxBitmap(typeof(MyControl), "MyControlBitmap")]
    class MyControl : UserControl  {}

Если делаешь через typeof(MyControl), то картинка должны быть Embeded Resource (включи ее в проект).
PM   Вверх
Idsa
Дата 20.3.2007, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Voyager @  20.3.2007,  11:50 Найти цитируемый пост)
Если делаешь через typeof(MyControl), то картинка должны быть Embeded Resource (включи ее в проект).

Ага smile Вот ключевая фраза smile. Действительно, смотрим конструкторы ToolboxBitmap в MSDN и видим:
Цитата

ToolboxBitmapAttribute (String)  Initializes a new ToolboxBitmapAttribute object with an image from a specified file.  
ToolboxBitmapAttribute (Type)  Initializes a new ToolboxBitmapAttribute object based on a 16 x 16 bitmap that is embedded as a resource in a specified assembly.  
ToolboxBitmapAttribute (Type, String)  Initializes a new ToolboxBitmapAttribute object based on a 16 by 16 bitmap that is embedded as a resource in a specified assembly.  



--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Ch0bits
Дата 20.3.2007, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

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



Опишу последовательность своих действий:
1. Создаю новый Windows Application.
2. В Solution Explorer щелкаю по WindowsApplication1 и создаю новый UserControl.
3. В Solution Explorer щелкаю New Item... и создаю новый Bitmap1.bmp 16x16 16 цветов.
4. Рисую Bitmap1.bmp и сохраняю в корень проекта.
5. Копирую абсолютный путь к Bitmap1.bmp и вставляю в атрибут ToolboxBitmap в коде UserControl.
Получаю:
Код

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    [ToolboxBitmap(@"D:\Documents\Visual Studio 2005\Projects\WindowsApplication1\WindowsApplication1\Bitmap1.bmp")]
    public partial class UserControl1 : UserControl
    {
        public UserControl1()
        {
            InitializeComponent();
        }
    }
}


Зайдя в палитру компонентов опять вижу проклятую шестерёнку! Что я сделал не так?
PM WWW   Вверх
Idsa
Дата 20.3.2007, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Попробуй засунуть файл в директорию Проект/bin/Debug и указать относительный путь. Так можно будет убедиться, что нет ошибок в пути.

Это сообщение отредактировал(а) Idsa - 20.3.2007, 18:52


--------------------
Мой блог: alexidsa.blogspot.com
PM MAIL ICQ   Вверх
Ch0bits
Дата 20.3.2007, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

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



Не помогает. Пойду выпью яда...  smile 
PM WWW   Вверх
Retro
Дата 21.3.2007, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Диалектик
***


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

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



Цитата(Ch0bits @  20.3.2007,  19:54 Найти цитируемый пост)
Пойду выпью яда... 

Не пей! smile 

Я вот так сделал
Код

[ToolboxBitmapAttribute("Bitmap1.bmp")]

и все ОК.

Забыл сказать, сначала эта фигня не работала, я начал экспериментировать с ресурсами и пр. вещами, потом после компиляции значок появился и все заработало как надо. В чем прикол так и не понял.

И вот еще, ресурсик.

Это сообщение отредактировал(а) Retro - 21.3.2007, 00:33
PM MAIL   Вверх
Ch0bits
Дата 21.3.2007, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

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



Не работает!  smile Наверно у меня глючная студия или какой-то зверский баг.
PM WWW   Вверх
mr.DUDA
Дата 21.3.2007, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

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



Ch0bits, а удалять-добавлять компонент на тулбокс пробовал ?  smile 


--------------------
user posted image
PM MAIL WWW   Вверх
Retro
Дата 21.3.2007, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Диалектик
***


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

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



Цитата(mr.DUDA @  21.3.2007,  09:44 Найти цитируемый пост)
а удалять-добавлять компонент на тулбокс пробовал ?

Точно! Забыл добавить. smile 

Это сообщение отредактировал(а) Retro - 21.3.2007, 12:49
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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