Услуги Сертификаты Новости Статьи База знаний Алгоритмы Портфолио Скачать Ссылки Поиск
Услуги arrow Новости arrow C# ListView: как при потере фокуса сделать так чтобы выделенный элемент не терял выделение
C# ListView: как при потере фокуса сделать так чтобы выделенный элемент не терял выделение Версия для печати Отправить на e-mail
15.11.2011
1. Чтобы выделенный в ListView элемент не терял выделения, либо не становился выделенным светло-серым цветом, нужно:
- для ListView установить свойство HideSelection = False;
2. Если нужно, чтобы выделение элемента при потере фокуса оставалось заданного цвета, нужно:
2.1. для ListView установить свойство OwnerDraw = True;
2.2. переопределить поведение методов DrawItem и DrawSubItem:
  1. /// <summary>
  2. /// Оформление ListView
  3. /// </summary>
  4. /// <param name="sender"></param>
  5. /// <param name="e"></param>
  6. private void lvDictionaries_DrawItem(object sender, DrawListViewItemEventArgs e)
  7. {
  8.   // Если элемент выделен пользователем
  9.   if ((sender as ListView).SelectedItems.Contains(e.Item))
  10.   {                
  11.     e.Graphics.FillRectangle(Brushes.DodgerBlue, e.Bounds);
  12.     e.DrawFocusRectangle();
  13.     e.Item.ForeColor = Color.White;
  14.   }
  15.   else
  16.   {        
  17.     e.Graphics.FillRectangle(Brushes.White, e.Bounds);
  18.     e.Item.ForeColor = Color.Black;
  19.   }
  20. }
  21. /// <summary>
  22. /// Отрисовка элементов ListView
  23. /// </summary>
  24. /// <param name="sender"></param>
  25. /// <param name="e"></param>
  26. private void lvDictionaries_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)
  27. {
  28.   TextFormatFlags flags = TextFormatFlags.Left;
  29.   using (StringFormat sf = new StringFormat())
  30.   {
  31.     e.DrawText(flags);
  32.   }
  33. }
* This source code was highlighted with Source Code Highlighter.

PS: если Вам была полезна данная статья, поддержите наш ресурс, нажмите кнопочку "+1" вверху страницы. Спасибо!

Последнее обновление ( 06.03.2012 )
 
< Пред.   След. >