Heim >Backend-Entwicklung >C++ >Wie kann ich transparente Steuerelemente über Bilderboxen in C#platzieren?
Transparenz mit Steuerelementen über Bilderboxen in C#
erreichenÜberlappende transparente Steuerelemente auf Bilderboxen in C# Windows Forms -Anwendungen erfordert eine Problemumgehung, da der Designer dies nicht direkt unterstützt. Hier erfahren Sie, wie Sie dies lösen können:
Die Design-Zeit-Herausforderung:
Der Standard -Windows -Formulierdesigner verhindert die Platzierung von Steuerelementen in einem Bildbox. Wenn Sie es versuchen, ist das übergeordnete Elternteil des Steuerelements das Formular, was zu einem undurchsichtigen Hintergrund hinter dem Bildbox -Bild führt.
Methode 1: Programmatische Steuerelement
Dieser Ansatz verändert die Eltern des Steuerelements während der Laufzeit dynamisch:
<code class="language-csharp">public Form1() { InitializeComponent(); Point pos = label1.Parent.PointToScreen(label1.Location); pos = pictureBox1.PointToClient(pos); label1.Parent = pictureBox1; label1.Location = pos; label1.BackColor = Color.Transparent; }</code>Dieser Code -Snippet bewegt die
-Kontrolle (oder eine andere Kontrolle), um ein Kind von label1
zu werden, wodurch seine Position aufrechterhalten und ihren Hintergrund transparent eingestellt wird. pictureBox1
Methode 2: benutzerdefinierter Bildbox -Steuerelement
Erstellen Sie für eine elegantere Design-Zeit-Lösung einen benutzerdefinierten Bildbox-Steuerelement:
<code class="language-csharp">using System.ComponentModel; using System.Windows.Forms; using System.Windows.Forms.Design; // Add System.Design reference [Designer(typeof(ParentControlDesigner))] public class PictureContainer : PictureBox { }</code>Mit dieser benutzerdefinierten
-Klasse können Sie mithilfe des PictureContainer
Steuerelemente im Designer direkt zu Steuerelementen hinzufügen, wodurch die Transparenz erhalten bleibt. Ändern Sie im Designer den Typ Ihres Bildboxs in ParentControlDesigner
. PictureContainer
aufzurüsten. BackColor
Das obige ist der detaillierte Inhalt vonWie kann ich transparente Steuerelemente über Bilderboxen in C#platzieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!