/ / Transparenter Hintergrund für eine Kontrolle - Winforms, Kontrollen, Transparenz

Transparenter Hintergrund für eine Kontrolle - Winforms, Kontrollen, Transparenz

Ich entwickle eine Winforms-Anwendung (mit .NET 3.5)

In einem Formular habe ich ein Panel-Steuerelement und ein DataGridview-Steuerelement darin.

Ich möchte etwas Kontrolle haben (lassen Sie uns für die Einfachheit sagen - ein Etikett) vor dem Datagridview erscheinen, und ich möchte dieses Label haben transparent - was bedeutet: Ich möchte die Daten sehen, die in der Gridview angezeigt werden.

Ich möchte nur den Text sehen, der in der Beschriftung ist, aber nicht das ganze Rechteck .. und dahinter - um die Daten zu sehen, die ich in der Gridview habe.

Das Problem ist das folgende: Das übergeordnete Steuerelement des Labels ist nicht die Gridview (da es kein Containersteuerelement ist). Das Elternelement des Labels ist das Panel-Steuerelement.

Wenn ich also das Label transparent mache, bekomme ich tatsächlich Transparenz zum Panel und nicht zum Datagridview.

Hier ist der Screenshot: Bildschirmfoto Dies zeigt die Situation (das eigentliche Steuerelement, das ich anzeigen möchte, ist kein Etikett, sondern ein benutzerdefiniertes Steuerelement, das ich heruntergeladen habe)

Irgendwelche Ideen.. ???

Antworten:

5 für die Antwort № 1

Schau dir diesen CodeProject-Artikel an: So verwenden Sie transparente Bilder und Beschriftungen in Windows Forms

Außerdem könnten Sie immer GDI (System.Drawing) verwenden und einfach das, was Sie wollen, direkt auf ein transparentes Panel zeichnen?


1 für die Antwort № 2

Stellen Sie das Panel auf transparent ein. Es sollte keine Probleme mit dem Panel verursachen, da Sie immer noch das Formular selbst hinter sich haben.

Es gibt noch ein anderes Problem, vor dem Sie warnen solltenGut. Transparenz in Winforms-Steuerelementen wird nur simuliert oder gefälscht, da beim Erstellen des Steuerelements ein Bild des Formulars hinter dem Steuerelement verwendet wird und dieses für den Hintergrund verwendet wird, anstatt es wirklich transparent zu machen. Dies kann zu Problemen führen, wenn sich der Hintergrund ändert oder die Steuerelemente im Formular verschoben werden.