Laden...

listView C#: Header Hintergrundfarbe ändern

Erstellt von Raumsonde vor 2 Jahren Letzter Beitrag vor 2 Jahren 462 Views
R
Raumsonde Themenstarter:in
7 Beiträge seit 2021
vor 2 Jahren
listView C#: Header Hintergrundfarbe ändern

Hallo,

für eine C# Anwendung wird ein listView Toolbox Element verwendet.
Nun möchte ich zum Abschluss noch, dass der Hintergrund des Headers
eine Farbe erhält. Dazu bin ich nun folgendermaßen vorgegangen:


        public Program()

        {

            InitializeComponent();

            ListViewItem[] items = new ListViewItem[13];

            items [0] = new ListViewItem("Number");

            items [0].SubItems.Add("Test");

            SetWindowRedraw(listViewDefaultTelegram, 1);

            listViewTest.Items.Add(items [0]);

            SetWindowRedraw(listViewDefaultTelegram, 0);

        }

        private void OnDrawColumnHeader_listViewTest(object sender, DrawListViewColumnHeaderEventArgs e)

        {

            // Fill header background with solid yello color.

            e.Graphics.FillRectangle(Brushes.AliceBlue, e.Bounds);

            // Let ListView draw everything else.

            e.DrawText();

        }

        private void SetWindowRedraw(Control ctrl, int onOff)

        {

            int WM_SETREDRAW = 11;

            SendMessage(ctrl.Handle, WM_SETREDRAW, onOff, 0);

            if (onOff == 1)

            {

                ctrl.Update();

            }

        }


Ich habe auch die Eigenschaft "OwnerDraw" von dem listView Element auf true gesetzt

Ergebnis: Das listView erscheint ohne Inhalt

4.931 Beiträge seit 2008
vor 2 Jahren

Sobald OwnerDraw auf true gesetzt wird, muß man alles über die entsprechenden Ereignismethoden DrawItem, DrawSubItem selber zeichnen (s.a. Beispiel).

R
Raumsonde Themenstarter:in
7 Beiträge seit 2021
vor 2 Jahren

Wie könnte ich dies nun bei mir lösen, damit ich den Header von dem listView Element einer Farbe zuordnen kann und auch zugleich Daten anzeigen lassen kann?

R
Raumsonde Themenstarter:in
7 Beiträge seit 2021
vor 2 Jahren

Ok habs nun hinbekommen.

Nochmals Danke

463 Beiträge seit 2009
vor 2 Jahren

Wenn du jetzt noch deine Lösung postet haben auch andere welche ein ähnliches/gleiches Problem haben etwas davon...