Rubrik: Grafik und Font · Grafische Effekte | VB-Versionen: VB.NET | 12.01.07 |
Formular mit "Guckloch" (VB.NET) Ein kleines Beispiel, wie man ein Formular mit einem "Guckloch" oder sogar mehreren "Einschußlöchern" versehen kann. | ||
Autor: Dieter Otter | Bewertung: | Views: 12.202 |
www.tools4vb.de | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Der nachfolgende Tipp gehört eigentlich in die Kategorie "Spielereien"
Es soll ein Formular mit einem "Guckloch" versehen werden, d.h. ein kleiner Kreisausschnitt wird
transparent dargestellt, so dass man hindurchsehen kann.
Das Ganze lässt sich wirklich ganz einfach realisieren, indem man einen Kreis in einer bestimmten Farbe zeichnet und der Form-Eigenschaft TransparencyKey genau die Farbe des Kreises zuweist.
Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' Transparente Farbe festlegen Me.TransparencyKey = Color.Magenta End Sub
Protected Overrides Sub OnPaint( _ ByVal e As System.Windows.Forms.PaintEventArgs) ' Kreis zeichnen, der durchsichtbar dargestellt wird e.Graphics.FillEllipse(Brushes.Magenta, 0, 0, 150, 150) End Sub
Wenn Sie das Projekt jetzt starten, können Sie im oberen linken Bereich der Form auf die im Hintergrund angezeigten Anwendungen bzw. auf den Desktop durchschauen.
Nachfolgender Code geht noch einen Schritt weiter und versieht die Form mit mehreren kleinen "Einschußlöchern".
Protected Overrides Sub OnPaint( _ ByVal e As System.Windows.Forms.PaintEventArgs) ' "Einschußlöcher" zeichnen e.Graphics.FillEllipse(Brushes.Magenta, 15, 15, 25, 25) e.Graphics.FillEllipse(Brushes.Magenta, 160, 150, 25, 25) e.Graphics.FillEllipse(Brushes.Magenta, 350, 210, 25, 25) ... End Sub