Laden...

Linien zeichen im VS05 per Designer-Support?

Erstellt von YpsilonZet vor 16 Jahren Letzter Beitrag vor 16 Jahren 2.137 Views
Y
YpsilonZet Themenstarter:in
78 Beiträge seit 2007
vor 16 Jahren
Linien zeichen im VS05 per Designer-Support?

Hallo,
da ich ja zurzeit an einen Verwaltungsprogramm arbeite und ich nun dort grösstenteils nur noch grafische Verbesserungen vornehmen werde, wollte ich mal fragen ob es wirklich keine einfache möglichkeit gibt, Linien zu zeichnen um verschiedene Teile des Programms grafisch besser abzugrenzen.
Hab jetzt mal die Toolbox durchgesucht, aber nix wirklich brauchbares gefunden.
Gibt es denn da wirklich keine Erweiterung (dll, ..), um soetwas hinzuzufügen?

Icq: 201599054

5.742 Beiträge seit 2007
vor 16 Jahren

Hallo YpsilonZet,

was ist mit _GroupBox_en? Vielleicht passen die auch.

Ansonsten könntest du ein eigenes Linien-Control erstellen, das nichts weiter macht, als eine Linie zu zeichnen.

84 Beiträge seit 2007
vor 16 Jahren

Grafik im Anhang runterladen, in eine PictureBox packen, die Property MaximumSize in X-Richtung auf 2 ändern, sich freuen 🙂

Gruß,
Razer

139 Beiträge seit 2006
vor 16 Jahren

Hier ne elegantere lösung. Ist auch schnell wieder verwnedbar in anderen Programmen:

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace TNDAri.Controls
{
    public class Line : UserControl
    {
        private Color mLineColor;
        private Color mLineShadowColor;

        public Color LineColor
        { get { return mLineColor; } set { mLineColor = value; Invalidate( ); } }

        public Color LineShadowColor
        { get { return mLineShadowColor; } set { mLineShadowColor = value; Invalidate( ); } }

        public Line( )
            : base( )
        {
            this.SetStyle( ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw, true );
            this.Height = 5;
            mLineColor = Color.Gray;
            mLineShadowColor = Color.Silver;
        }

        protected override void OnPaint( PaintEventArgs e )
        {
            base.OnPaint( e );

            e.Graphics.DrawLine( new Pen( mLineColor ), 0, Height / 2, Width - 2, Height / 2 );
            e.Graphics.DrawLine( new Pen( mLineShadowColor ), 1, Height / 2 + 1, Width, Height / 2 + 1 );
        }
    }
}

Viel Spass 😉

Gruss Ari
Wer lesen kann ist klar im vorteil!
MSDN
Dein Feund in allen fragen

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo YpsilonZet,

der einfachste Weg, eine Linie zu erzeugen ist einfach ein Panel mit sehr geringer Höhe (bzw. sehr geringer Breite) und BackColor = SystemColors.ControlDark (oder SystemColors.ControlDarkDark) zu nehmen.

Unter Umständen sind aber die schon genannten GroupBoxen oder auch TableLayoutPanel besser geeignet.

herbivore

Y
YpsilonZet Themenstarter:in
78 Beiträge seit 2007
vor 16 Jahren

Ok danke leute, werd ich mal rumprobieren, was am besten passt

Icq: 201599054

4.506 Beiträge seit 2004
vor 16 Jahren

Hallo zusammen,

soll das ganze dynamisch in der Größe sein (das Fenster kann größer und kleiner gezogen werden)?

Wenn nicht, dann würde ich die Linien direkt in das Form zeichnen.

Wenn doch, dann ist da ein eigenes Control (System.Windows.Forms.Control) vielleicht geeignet? Das hat auch den Vorteil, falls irgendwann mal von einer Linie z.B. auf Wellen geändert werden müsste 😉

Grüße
Norman-Timo

A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”