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

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

Ответить
Настройки темы
.NET - [решено] Сменить цвет выделенного элемента ListView.

В Поисках Истины


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


Конфигурация

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


Доброе время суток. Собственно сабж, нужно сменить цвет выделяемого элемента в ListView. Подскажите как это сделать? Где можно посмотреть примеры...

Отправлено: 00:03, 20-07-2011

 

Аватара для Delirium

Ветеран


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

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


Начнем с простого гугла http://www.google.ru/search?hl=ru&so...&aqi=&aql=&oq=
http://forums.asp.net/t/1297647.aspx
http://bytes.com/topic/visual-basic-...selected-color
http://ru.w3support.net/index.php?db=so&id=895309

-------

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

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:29, 20-07-2011 | #2



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

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


В Поисках Истины


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

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


Забыл добавить что нужно для WinForms, моя ошибка По большинству ссылок либо Wpf, либо Asp.net Вроде как нужно использовать событие DrawItem, но все как то не могу с ним разобраться!

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 10:16, 20-07-2011 | #3


Аватара для Delirium

Ветеран


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

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


А вот это случайно не то, что надо? http://msdn.microsoft.com/ru-ru/libr...=vs.90%29.aspx

Ты хочешь изменить стандартный синенький текст при выделении строки или что конкретно? У меня не получается изменить только синий цвет выделения, все остальное меняется спокойно.

Еще маленько нарыл, но не тестировал:
http://www.debugging.com/bug/5554

-------

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

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:37, 22-07-2011 | #4


В Поисках Истины


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

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


Цитата Delirium:
Ты хочешь изменить стандартный синенький текст при выделении строки или что конкретно? »
Как раз - таки именно синенький цвет выделения)
Спасибо за ссылки, буду разбираться!

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 10:17, 22-07-2011 | #5


Аватара для Delirium

Ветеран


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

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


LilLoco, как вариант для обдумывания - проставить свойство OwnerDraw в True и руками прописать отображение. А в свойстве наведения мыши прорисовывать свой прямоугольник по координатам...

-------

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

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:17, 25-07-2011 | #6


Аватара для Delirium

Ветеран


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

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


Решение найдено? Если да, поделись наработками

-------

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

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


Отправлено: 07:46, 29-07-2011 | #7


В Поисках Истины


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

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


Delirium, Я пока что в отпуске... Отдыхаю так сказать от всего) Как только закончится, так сразу примусь искать решение...

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 23:16, 30-07-2011 | #8


Аватара для Delirium

Ветеран


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

Профиль | Отправить 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

-------

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

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

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:49, 31-07-2011 | #9


В Поисках Истины


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

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


Delirium, Внимательно посмотрел все ваши ссылки, огромное спасибо.
Цитата Delirium:
проставить свойство OwnerDraw в True и руками прописать отображени »
Именно так и сделал. Вот этого нужно было добиться :

Добился так :

Устанавливаем необходимые свойства
Код: Выделить весь код
listView1.View = View.Tile;
listView1.OwnerDraw = true;
listView1.DrawItem += new DrawListViewItemEventHandler ( listView1_DrawItem );
Добавляем итемы в ListView
Код: Выделить весь код
for (int i = 0; i < 5; i++)
{
     listView1.Items.Add("sdasdsdsf");
}
Сама перерисовка итемов
Код: Выделить весь код
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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход