Wie zeichne ich eine gerade Linie zwischen zwei Steuerelementen in einem Benutzersteuerelement?

8

Ich habe eine Benutzersteuerung mit dem Namen groupControl: Es hat zwei Flowlayoutpanel - Quell-Panel und Ziel-Panel. Es hat auch einen Knopf.

Ich habe einen anderen Benutzer namens Element. Ich werde N Elementsteuerelemente dynamisch im Quellbereich und M Elementsteuerelemente im Zielbereich legen.

Ich möchte, dass zwischen jedem Element-Steuerelement und der Schaltfläche auf groupControl gerade Linien sind.

Schließlich habe ich ein Testformular MainForm, es enthält auch ein Flowlayoutpanel. Ich werde X Groupcontrols auf MainForm dynamisch legen.

Wie kann ich gerade Linien zwischen jedem Benutzersteuerelement und der Schaltfläche auf dem gleichen Gruppensteuerelement zeichnen?

    
spspli 05.04.2011, 19:38
quelle

3 Antworten

6

Das Visual Basic Power Pack enthält a DataRepeater und einige Formen (Oval, Rechteck ..) einschließlich einer Linie. Siehe diesen Link .

Es heißt "Visual Basic" Power Pack, aber es kann problemlos in einem C # -Projekt verwendet werden.

Schauen Sie sich den DataRepeater an, nicht nur, damit Sie Ihr Panel mit benutzerdefinierten Steuerelementen als Elemente füllen können, sondern auch, was Sie brauchen, um eine Linie zwischen ihnen zu platzieren.

    
Larry 05.04.2011, 19:46
quelle
2

Sie müssten so etwas bearbeiten, um es an Ihre korrekten Start- und Endpunkte anzupassen ( pt1 und pt2 ), aber ...

%Vor%

BEARBEITEN:

Wenn Sie ein Formular namens ShippingForm haben (wie ich es oben getan habe), gehen Sie zu den Event-Handlern des Formulars in der GUI und fügen Sie einen Doppelklick auf das Pant -Ereignis hinzu, um den leeren Methoden-Stub zu generieren.

    
jp2code 05.04.2011 19:47
quelle
0

Das ist eigentlich ziemlich einfach. Sie können die Klasse ShapeContainer genauso verwenden wie die Canvas . Setzen Sie das übergeordnete Element von LineShape auf ShapeContainer und das übergeordnete Element von ShapeContainer auf Form .

    
Austin 09.08.2011 15:40
quelle

Tags und Links