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?
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.
Sie müssten so etwas bearbeiten, um es an Ihre korrekten Start- und Endpunkte anzupassen ( pt1
und pt2
), aber ...
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.
Tags und Links c# winforms line user-controls draw