|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - [решено] Сменить цвет выделенного элемента ListView. |
|
|
.NET - [решено] Сменить цвет выделенного элемента ListView.
|
В Поисках Истины Сообщения: 802 |
Доброе время суток. Собственно сабж, нужно сменить цвет выделяемого элемента в ListView. Подскажите как это сделать? Где можно посмотреть примеры...
|
|
Отправлено: 00:03, 20-07-2011 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 02:29, 20-07-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Забыл добавить что нужно для WinForms, моя ошибка
![]() ![]() |
------- Отправлено: 10:16, 20-07-2011 | #3 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать А вот это случайно не то, что надо? http://msdn.microsoft.com/ru-ru/libr...=vs.90%29.aspx
Ты хочешь изменить стандартный синенький текст при выделении строки или что конкретно? У меня не получается изменить только синий цвет выделения, все остальное меняется спокойно. Еще маленько нарыл, но не тестировал: http://www.debugging.com/bug/5554 |
------- Отправлено: 09:37, 22-07-2011 | #4 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Цитата Delirium:
Спасибо за ссылки, буду разбираться! |
||
------- Отправлено: 10:17, 22-07-2011 | #5 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать LilLoco, как вариант для обдумывания - проставить свойство OwnerDraw в True и руками прописать отображение. А в свойстве наведения мыши прорисовывать свой прямоугольник по координатам...
|
------- Отправлено: 02:17, 25-07-2011 | #6 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Решение найдено? Если да, поделись наработками
![]() |
------- Отправлено: 07:46, 29-07-2011 | #7 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Delirium, Я пока что в отпуске... Отдыхаю так сказать от всего) Как только закончится, так сразу примусь искать решение...
|
------- Отправлено: 23:16, 30-07-2011 | #8 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Похоже, я нашел то, что нужно. http://ru.w3support.net/index.php?db=so&id=1228492
Может помочь вот это: http://ru.w3support.net/index.php?db=so&id=1433292 А также http://stackoverflow.com/questions/1...ection-drawing И напоследок http://stackoverflow.com/questions/2...rrect-location |
------- Отправлено: 07:49, 31-07-2011 | #9 |
В Поисках Истины Сообщения: 802
|
Профиль | Отправить PM | Цитировать Delirium, Внимательно посмотрел все ваши ссылки, огромное спасибо.
Цитата Delirium:
![]() Добился так : Устанавливаем необходимые свойства listView1.View = View.Tile; listView1.OwnerDraw = true; listView1.DrawItem += new DrawListViewItemEventHandler ( listView1_DrawItem ); Сама перерисовка итемов void listView1_DrawItem ( object sender, DrawListViewItemEventArgs e ) { if ((e.State & ListViewItemStates.Selected) != 0) //выделенный элемент { e.Graphics.FillRectangle (Brushes.Цвет, e.Bounds ); e.Graphics.DrawString ("Первая строка", new Font ( "Arial", 10 ), Brushes.Цвет, new Point ( e.Item.Position.X + 36, e.Item.Position.Y ) ); brush = new SolidBrush ( Color.FromArgb ( Colors.SecondRowSelected ) ); e.Graphics.DrawString ( "Вторая строка", new Font ( "Arial", 10 ), Brushes.Цвет, new Point ( e.Item.Position.X + 36, e.Item.Position.Y + 15 ) ); } else //остальные элементы { e.Graphics.FillRectangle (Brushes.Цвет, e.Bounds ); e.Graphics.DrawString ("Первая строка", new Font ( "Arial", 10 ), Brushes.Цвет, new Point ( e.Item.Position.X + 36, e.Item.Position.Y ) ); brush = new SolidBrush ( Color.FromArgb ( Colors.SecondRowSelected ) ); e.Graphics.DrawString ( "Вторая строка", new Font ( "Arial", 10 ), Brushes.Цвет, new Point ( e.Item.Position.X + 36, e.Item.Position.Y + 15 ) ); } e.Graphics.DrawImage (Image , e.Item.Position.X, e.Item.Position.Y + 2, 32, 32 );// отрисовываем иконку слева } |
|
Отправлено: 15:05, 16-08-2011 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Открытие выделенного файла в заданном приложении | Vadikan | Скриптовые языки администрирования Windows | 2 | 04-12-2010 18:23 | |
Разное - как на vba написать печать выделенного диапазона ячеек excel? | Ingolder | Microsoft Office (Word, Excel, Outlook и т.д.) | 1 | 13-10-2010 00:51 | |
Разное - [решено] Восстановление Vista с выделенного раздела Recovery | DimDau | Microsoft Windows Vista | 20 | 01-04-2010 11:21 | |
реально ли без выделенного IP получать почту? | aks1983 | Сетевые технологии | 8 | 15-05-2005 04:20 | |
замена значения элемента массива другим значением элемента.. | MXM | Вебмастеру | 1 | 20-05-2004 06:50 |
|