L'unica è usare wpf .. ma non è detta l'ultima parola, ossia se proprio siete ostinati e non volete scaricarvi la libreria di qualcuno che non conoscete, l'unica è farvelo da voi.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; namespace ColredPanel { public partial class ColoredGroupBox : UserControl { Color _c = Color.Lime; Pen _p = null; public Color GetBoxborder { get { return _c;} set { _c = value; _p = new Pen(new SolidBrush(_c)); lblCaption.BackColor = _c; } } public string Caption { get { return lblCaption.Text; } set { lblCaption.Text = value; } } public ColoredGroupBox() { InitializeComponent(); _p = new Pen(new SolidBrush(_c)); } private void ColoredGroupBox_Paint (object sender, PaintEventArgs e) { _p.Width = 2; e.Graphics.FillRectangle( new SolidBrush(_c), 30, 4, lblCaption.Width, 19); e.Graphics.DrawEllipse(_p, 22, 5, 16, 16); e.Graphics.FillEllipse(new SolidBrush(_c), 21, 5, 16, 16); e.Graphics.DrawEllipse(_p, 20+lblCaption.Width, 5, 16, 16); e.Graphics.FillEllipse(new SolidBrush(_c), 20 + lblCaption.Width,
5, 16, 16); e.Graphics.DrawRectangle(_p, 13, 13, this.Width - 20,
this.Height - 20); } } }
Questo naturalmente si tratta di un esempio .. che non è del tutto calzante perchè a design time il controllo fa davvero schifo.
Ma dato che si tratta di un esempio lascio a voi tutta la creatività che può servirvi per rendere il vostro controllo il più bello e lento possibile..
Nessun commento:
Posta un commento