Rubrik: Oberfläche | VB-Versionen: VB.NET | 03.07.03 |
Abgerundete Fenster und Objekte (.NET) Funktion, mit der man eine Form oder ein beliebiges Steuerelement mit abgerundeten Ecken anzeigen kann. | ||
Autor: Cavin Mosters | Bewertung: | Views: 37.308 |
www.cavin.de.vu | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Sie möchten mal abgerundete Fenster haben und nicht immer die langweiligen Rechteckigen?
Starten Sie ein neues Projekt (Windows-Anwendung) und fügen Sie ein Modul mit folgender Prozedur hinzu:
Sub abrunden(ByVal was As Object, _ ByVal x As Integer, ByVal y As Integer, _ ByVal width As Integer, ByVal height As Integer, _ ByVal radius As Integer) Dim gp As System.Drawing.Drawing2D.GraphicsPath = _ New System.Drawing.Drawing2D.GraphicsPath() gp.AddLine(x + radius, y, x + width - radius, y) gp.AddArc(x + width - radius, y, radius, radius, 270, 90) gp.AddLine(x + width, y + radius, x + width, y + height - radius) gp.AddArc(x + width - radius, y + height - radius, radius, radius, 0, 90) gp.AddLine(x + width - radius, y + height, x + radius, y + height) gp.AddArc(x, y + height - radius, radius, radius, 90, 90) gp.AddLine(x, y + height - radius, x, y + radius) gp.AddArc(x, y, radius, radius, 180, 90) gp.CloseFigure() was.region = New System.Drawing.Region(gp) gp.Dispose() End Sub
Im Form_Load Ereignis der Form rufen Sie die abrunden-Prozedur dann wie folgt auf:
Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' Ecken abrufen abrunden(Me, 0, 0, Me.Width, Me.Height, 20) End Sub
Das ganze lässt sich auch auf andere Objekte anwenden, wie z.B. ein Button:
With Button1 abrunden(Button1, 0, 0, .Width, .Height, 20) End With