Forum: PC-Programmierung Kreise bzw Linien in Visual Studio 2005


von Chris (Gast)


Lesenswert?

Hi,

ich suche nach einer Möglichkeit, wie ich Kreise in Visual Studio 
zeichnen kann. Programmiert wird mit C#. Die Kreise sollen nicht erst 
zur Laufzeit erzeugt werden sondern schon beim Formular zusammenklicken. 
Ich meine bei VB gab es früher eine Klasse aber ich finde keine.

Kann evtl jemand weiterhelfen?

Gruß

Chris

von Arc N. (arc)


Lesenswert?

Afaik gibt's die nicht, lässt sich aber quick and dirty mit einem 
UserControl lösen...

In der Projektmappe ein UserControl hinzufügen und den Rest hier 
einfügen, die Events entsprechend "verdrahten", ...
1
    public enum ShapeKind { Circle, Rect ... };
2
    public partial class Shape : UserControl {
3
        ShapeKind _kind = ShapeKind.Circle;
4
        SolidBrush _brush;
5
        public Shape() {
6
            InitializeComponent();
7
            _brush = new SolidBrush(ForeColor);            
8
        }
9
        // Alles was public ist, taucht auf der 
10
        // Eigenschaftenseite des Controls auf
11
        // 
12
        public ShapeKind Kind {
13
            get { return _kind; }
14
            set { _kind = value; Invalidate();  }
15
        }
16
17
        private void Shape_Paint(object sender, PaintEventArgs e) {
18
            switch (_kind) {
19
                case ShapeKind.Circle:
20
                    e.Graphics.FillEllipse(_brush, ClientRectangle);
21
                    break;
22
                ...
23
            }
24
        }
25
26
        private void Shape_ForeColorChanged(object sender, EventArgs e) {
27
            _brush = new SolidBrush(ForeColor);            
28
        }
29
    }

Das ganze taucht dann wie ein "normales" Control in der ToolBox auf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.