Datagridview Backgroundcolor Transparent

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von bazonga.

    Datagridview Backgroundcolor Transparent

    Hey,
    ich habe eine Form mit Hintergrundbild. Darauf ist in Datagridview, wie kann ich die Backgroundcolor nun von diesem Datagridview auf Transparent setzen, damit das Hintergrundbild zu sehen ist??

    Vielen Dank schonmal
    Es gibt Controls, bei denen die Hintergrundfarbe nicht auf Transparent gesetzt werden kann.
    Normalerweise geht das aber mit BackColor, Web, Transparent.
    Wenn der Fehler im Bild (siehe Anhang) auftritt, geht das nicht. Höchstens noch im Paint Event ein Background Image das mit der Position auf das Background Image der Form passt zeichnen.
    Bilder
    • Keine Transparenz.png

      18,14 kB, 312×255, 153 mal angesehen

    sdcleitung schrieb:

    Hey,
    das mit den Transparent weiß ich und wäre die Meldung nicht gekommen hätte ich nicht hier extra gefragt ;)
    Habe das Panel modifiziert und eine BackImage Eigenschaft hinzugefügt, das hat mein Problem auch gelöst ...


    Und wie sieht es mit einem funktionsfähigen Beispiel aus?
    Das man die DGV-Klasse neu malen muss ist mir bekannt. Ich habe auch ein ensprechendes Beispiel ermittelt

    VB.NET-Quellcode

    1. Private _backgroundPic As Image
    2. _
    3. Public Overrides Property BackgroundImage() As Image
    4. Get
    5. Return _backgroundPic
    6. End Get
    7. Set(ByVal value As Image)
    8. _backgroundPic = value
    9. End Set
    10. End Property
    11. Protected Overrides Sub PaintBackground(ByVal graphics As System.Drawing.Graphics, ByVal clipBounds As System.Drawing.Rectangle, ByVal gridBounds As System.Drawing.Rectangle)
    12. MyBase.PaintBackground(graphics, clipBounds, gridBounds)
    13. If (Not (Me.BackgroundImage Is Nothing)) Then
    14. graphics.FillRectangle(Brushes.Black, gridBounds)
    15. graphics.DrawImage(Me.BackgroundImage, gridBounds)
    16. End If
    17. End Sub
    18. 'Make BackgroundImage can be seen in all cells
    19. Public Sub SetCellsTransparent()
    20. Me.EnableHeadersVisualStyles = False
    21. Me.ColumnHeadersDefaultCellStyle.BackColor = Color.Transparent
    22. Me.RowHeadersDefaultCellStyle.BackColor = Color.Transparent
    23. For Each col As DataGridViewColumn In Me.Columns
    24. col.DefaultCellStyle.BackColor = Color.Transparent
    25. Next
    26. End Sub


    Mir fehlt nur das Verständnis, wie ich meinem Datagridview tblReport diese Eigenschaften zuordne, kann jemand helfen?

    Danke und Gruß
    Volker