ListView başlıklarının arka plan rengini nasıl değiştirirsiniz?Winform Listesinin arka plan rengini değiştirmeView başlıkları
cevap
Bunu, liste görünümü için OwnerDraw özelliğini true olarak ayarlayarak yapabilirsiniz.
Bu, liste görünümünün çizim olayları için olay işleyicileri sağlamanıza olanak tanır.
Aşağıda
MSDN hakkında ayrıntılı bir örnek vardır kırmızıya başlık rengini ayarlamak için bazı örnek kod:
private void listView1_DrawColumnHeader(object sender,
DrawListViewColumnHeaderEventArgs e)
{
e.Graphics.FillRectangle(Brushes.Red, e.Bounds);
e.DrawText();
}
sanırım (ama yanlış kanıtlanabilir mutluyum) OwnerDraw setiyle o
private void listView1_DrawItem(object sender,
DrawListViewItemEventArgs e)
{
e.DrawDefault = true;
}
kesinlikle ma yapmadıysanız: aşağıda gösterildiği gibi true, ayrıca varsayılan uygulamaları olan diğer beraberlik olaylara işleyici vermeniz gerekecektir Liste görünümü yapmak için neredeyim ki o olmadan öğeleri çizin.
Bir uyarı kelimesi olarak, bunu anlamak için bir saatten fazla sürdüğümden, drawcolumnheader'ın içine bir MSGBOX komutu koyma! Bu vb.net kadar askıda kalıyor - aksi takdirde iyi çalıştı – cardmagik
Bu partiye biraz geç olduğunu biliyorum ama bu yazıyı hala gördüm ve bu bana yardımcı olurdu. Burada kodunun ilk bit koymak ne olursa olsun sınıf ile
public Form()
{
InitializeComponent();
*CLASS NAME*.colorListViewHeader(ref myListView, *SOME COLOR*, *SOME COLOR*);
}
Sadece * SINIFI ADI yerine david Ardından formu yapıcı bu çağrı
using System.Windows.Forms;
using System.Drawing;
//List view header formatters
public static void colorListViewHeader(ref ListView list, Color backColor, Color foreColor)
{
list.OwnerDraw = true;
list.DrawColumnHeader +=
new DrawListViewColumnHeaderEventHandler
(
(sender, e) => headerDraw(sender, e, backColor, foreColor)
);
list.DrawItem += new DrawListViewItemEventHandler(bodyDraw);
}
private static void headerDraw(object sender, DrawListViewColumnHeaderEventArgs e, Color backColor, Color foreColor)
{
e.Graphics.FillRectangle(new SolidBrush(backColor), e.Bounds);
e.Graphics.DrawString(e.Header.Text, e.Font, new SolidBrush(foreColor), e.Bounds);
}
private static void bodyDraw(object sender, DrawListViewItemEventArgs e)
{
e.DrawDefault = true;
}
verilen kod biraz soyut uygulama * olduğunu ve * BAZI RENKLER * bir çeşit renkle.
//Some examples:
Color.white
SystemColors.ActiveCaption
Color.FromArgb(0, 102, 255, 102);
Good Luck All!
- 1. Arka plan rengini değiştirin
- 2. Arka Plan rengini değiştirme NSAttributedString
- 3. HTML Çerçevesinin arka plan rengini nasıl ayarlayabilirim?
- 4. Arka plan rengini değiştirme metin jQuery
- 5. 8086 aksamında arka plan rengini nasıl değiştirebilirim?
- 6. Arka plan rengini değiştirin kaydırıcı-nav
- 7. UIModalTransitionStyleFlipHorizontal öğesinin arka plan rengini değiştirme
- 8. Bir ImageView öğesinin arka plan rengini alma
- 9. Bir Düzen'in arka plan rengini alma
- 10. Sayfa ilerlediğinde üstbilgi arka plan rengini değiştir
- 11. Arabirim denetleyicisinin arka plan rengini değiştirme
- 12. Progressive Web App arka plan rengini değiştir
- 13. Tablo sütununun arka plan rengini değiştirme javascript
- 14. SKLabelNode için arka plan rengini ayarlama?
- 15. IonicPopup denilen arka plan rengini değiştirir
- 16. Tablo satırının arka plan rengini ayarlama
- 17. değiştir sekmesi arka plan rengini ve sekmeler
- 18. iOS 8 UITableView arka plan rengini görünüm
- 19. sayfanın arka plan rengini css olarak ayarlama
- 20. Tablolarda bile hücrelerin arka plan rengini değiştirViewView
- 21. Grafik görünümüne arka plan rengini ayarlama
- 22. Dönüş bileşeninin varsayılan arka plan rengini alın
- 23. Google Harita'da arka plan rengini değiştirme InfoWindow
- 24. Odaklanmış görünümün arka plan rengini nasıl değiştirirsiniz?
- 25. Arka plan rengini değiştirme C# konsolu uygulamasında
- 26. ggplot2 facet_grid() arka plan rengini değiştir
- 27. Seçilen hücrenin arka plan rengini döndürme
- 28. ListBox seçim arka plan rengini nasıl değiştirebilirim?
- 29. Bir çeviricinin arka plan rengini nasıl değiştirebiliriz?
- 30. Android. FrameLayout öğesinin arka plan rengini
Boya olayını geçersiz kılarak özel çizim uygulamanız gerekecek. Paint yöntemini geçersiz kılan –
ListView'de hiçbir şey yapmaz. @David'in önerdiği OwnerDraw mekanizmasını kullanmanız gerekir. Bunu yaptığınızda, başlık tasarımınızdan tüm stilleri kaldırdığınızı unutmayın - sıcak öğe yok, sıralama göstergesi yok, degrade arka planı yok. – Grammarian