C# Runde Grafische Oberfläche

kiname

Cadet 3rd Year
Registriert
Nov. 2014
Beiträge
56
Hallo Community,

ich würde gerne eine Anwendung programmieren mit einer kreisförmigen GUI bzw einer mit einer bei der man per Parametereingabe eingeben kann wie stark die Abrundung an den ecken des Fensters ist.
Ich habe zwar schon einige Erfahrung in C# jedoch habe ich wirklich keine Ahnung wie ich da beginnen soll.
Suche Denkanstöße wie ich so eine Oberfläche realisieren kann.

Lg
kiname
 
Bei sowas würde ich dann auf WPF setzen und nicht (mehr) auf WinForms
 
Soweit ich weiß geht das nur über direkte Aufrufe an das Graphics Device Interface (GDI). Die Standardforms geben das nicht her

Zum Beispiel so:

Code:
 [DllImport("Gdi32.dll", EntryPoint = "CreateRoundRectRgn")]
        private static extern IntPtr CreateRoundRectRgn
        (
            int Left,
            int Top,
            int Right,
            int Bottom, 
            int WidthEllipse, 
            int HeightEllipse
         );

        public Form1()
        {
            InitializeComponent();
            this.FormBorderStyle = FormBorderStyle.None;
            this.BackColor = Color.Blue;
            this.Region = System.Drawing.Region.FromHrgn(CreateRoundRectRgn(0, 0, Width, Height, 30, 30));
        }

Doku zum Befehl: CreateRoundRectRgn
 
Das geht schon seit Net2.0 auch ohne GDI:
Code:
        public Form1()
        {
            InitializeComponent();
            this.FormBorderStyle = FormBorderStyle.None;
            this.TransparencyKey = System.Drawing.Color.Lime;
        }
Und dann als Hintergrundbild einfach ein "Greenscreen"-Bild oder erzeugtes Image etc, andere Farben natürlich auch möglich.
 
Zurück
Oben