Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
listView C#: Header Hintergrundfarbe ändern
Raumsonde
myCSharp.de - Member



Dabei seit:
Beiträge: 7

Themenstarter:

listView C#: Header Hintergrundfarbe ändern

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4.593

beantworten | zitieren | melden

Sobald OwnerDraw auf true gesetzt wird, muß man alles über die entsprechenden Ereignismethoden DrawItem, DrawSubItem selber zeichnen (s.a. Beispiel).
private Nachricht | Beiträge des Benutzers
Raumsonde
myCSharp.de - Member



Dabei seit:
Beiträge: 7

Themenstarter:

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
Raumsonde
myCSharp.de - Member



Dabei seit:
Beiträge: 7

Themenstarter:

beantworten | zitieren | melden

Ok habs nun hinbekommen.

Nochmals Danke
private Nachricht | Beiträge des Benutzers
Stefan.Haegele
myCSharp.de - Member

Avatar #avatar-3068.jpg


Dabei seit:
Beiträge: 462
Herkunft: Untermeitingen

beantworten | zitieren | melden

Wenn du jetzt noch deine Lösung postet haben auch andere welche ein ähnliches/gleiches Problem haben etwas davon...
private Nachricht | Beiträge des Benutzers