Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] Задание картинки в ToolStripButton

Ответить
Настройки темы
.NET - [решено] Задание картинки в ToolStripButton

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Изменения
Автор: Delirium
Дата: 02-12-2008
Глупый вопрос, но не могу найти решения:
имеется ToolStrip, на нем есть стандартные кнопки (New, Edit, e.t.c..). У них в качестве Image выставлен System.Image.Brush . Но нигде нет опции, позволяющей выбрать из стандартных MS иконок. Перерыл инет, все, что нашел, это список кодов картинок и их изображение здесь , но это применимо к свойству FaceId, которое применяется в панели MS Office.
А я хотел бы использовать стандартные иконки в программе. Отсюда и вопрос: как в C# задать на кнопке изображение со стандартной панели (дискета, лист и т.д.)?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 07:05, 01-12-2008

 

Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Delirium, так для любой кнопочки можно задать любую картинку вручную

Скрин из VB.NET 2008 EE
Если эти иконки есть отдельно, их можно взять и загнать один раз в файл ресурсов, а потом использовать его в своих прогах в будущем.

Отправлено: 00:40, 02-12-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Да нет, ресурсы то я использовать умею ВОт на Вашем скрине есть стандартные изображения напротив пунктов меню Copy, Cut, и т.д.(ножницы и т.д.). Вот их как использовать? При создании ToolStrip в VS 2008 есть опция - Insert Standart Menu - вставляет New, Copy, Paste с иконками. Как их выставить своим кнопкам?

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 00:55, 02-12-2008 | #3

pva pva вне форума

Аватара для pva

Ветеран


Сообщения: 1180
Благодарности: 279

Профиль | Отправить PM | Цитировать


если бы на winapi, я бы закачал с ресурсов какого-нить shell32.dll или comctl32.dll. C# такое позволяет?
типа так: LoadIcon(GetModuleHandle("comctl32.dll"), ID_CUT);
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:32, 02-12-2008 | #4


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Delirium вот, так же подумали и в MS. Ведь когда выбрать опцыю Insert Standart Menu для ToolStrip, в EE редакциях так же доступна
,
Скрин из VB.NET 2008 EE
в проекте в файл Form1.Design.cs добавляются соответствующие строчки кода загрузки иконок из файла ресурсов Form1.resx, в котором уже добавлены все эти ресурсы (после опцыи Insert Standart Menu).

Скрин из C# 2008 EE
А что собственно мешает заказывать Insert Standart Menu, убрать неугодные кнопки, вытягивать из добавленного автоматически ресурс файла нужны иконки? Может по причине тривиальности этого не было найдено в поисковиках. Наверное, была мысль что эти иконки должны быть глобально в системе и что они оттуда коллективно тянутся? Видео MS решило обезопасить пользователя и в его прогу ресурсы кидать эти по принципу "всё своё носи с собой".
pva да конечно, из .NET прог есть доступ практически ко всем Win32 API. Нужно только известить прогу, что бы она искала нужную функцию не в нёдрах MS .NET Framework.
На VB.NET это будет так
Код: Выделить весь код
Public Declare Function LoadIcon Lib "user32" Alias "LoadIconA" (ByVal hInstance As Long, ByVal lpIconName As String) As Long
Public Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Вот только насколько будет правильным подход использовать Win32 в .NET прогах.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:06, 02-12-2008 | #5


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Цитата Admiral:
Может по причине тривиальности этого не было найдено в поисковиках »
Именно по этому. Чет я не допетрил открыть ресурсы формы и увидеть их там )))
Цитата Admiral:
Вот только насколько будет правильным подход использовать Win32 в .NET прогах »
Вполне допустимо, для очень многих действий приходится подключать API.
Вопрос решен, большое спасибо.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 07:14, 03-12-2008 | #6


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Хотя интересно, почему ж MS не предусмотрели стандартной возможности в C# вставлять стандартные иконки без танцев с бубнами.......

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 07:31, 03-12-2008 | #7


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


При использовании Win32 API в .Net прогах теряется хоть какая-то но многоплатформенность. Может и не актуально, но всё же.
К системным иконкам всё же непосредственно из .Net доступ есть, а именно через SystemIcons
Ножниц и других Офис элементов там нет, но

те что в окне сообщений (MsgBox) доступны - здесь найдутся
SystemIcons.Application
SystemIcons.Asterisk
SystemIcons.Error
SystemIcons.Exclamation
SystemIcons.Hand
SystemIcons.Information
SystemIcons.Question
SystemIcons.Warning
SystemIcons.WinLogo
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:10, 03-12-2008 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] Задание картинки в ToolStripButton

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MSFT SQL Server - [решено] Не хочет выполнять задание, ошибок нет... DoublE_zone Программирование и базы данных 16 18-12-2009 10:33
[решено] Как кликнуть по кнопке ToolStripButton alexey_a AutoIt 13 02-04-2009 17:56
Службы - [решено] Задание резервного копирования denisz Microsoft Windows 2000/XP 6 08-08-2008 00:24
[решено] C/C++ | Задание в книге по С Grekalov Программирование и базы данных 2 13-08-2006 13:58
[решено] Задание прав доступ к шарам в XP makaveli lcf Microsoft Windows 2000/XP 2 20-10-2005 10:43




 
Переход