Autor Beitrag
rano1972
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Di 07.10.08 17:52 
Hallo
Ich habe 2 Usercontrol erstellt. UC_Circle zeichnet ein Kreis. Ich möchte abhängig von meiner empfangene Daten ein Kreis dazu zeichenn oder löschen. ich möchte diese Kreise auf einem Panel zeichenen. so habe ich einen UC_myPanel erstellt.
wie kann ich in Laufzeit die Kreise auf diesen Usercontrol (UC_myPanel) zeichenen (add control) oder löschen (remove control).

Ich benutze VS2005

Ich hab schon das Panel als Container definiert:
[Designer("System.Windows.Forms.Design.ParentControlDesigner, System.Design", typeof(IDesigner))]

UC_Cicle : wird mit override OnPaint(...) gezeichnet
UC_myPanle: benutzt auch die override OnPaint(...) Funktion. innerhalb diese Funktion wird "this.Controls.Add(neueDevice);" aufgerufen. es funktionert leider nicht.


Danke


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Fr 10.10.2008 um 17:44
lothi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 114
Erhaltene Danke: 3



BeitragVerfasst: Di 07.10.08 20:08 
Hallo

Ich habe dein Problem verstanden. Die Lösung hast du selber gepostet.

Das Visual Studio fügt Steuerelemente im Konstruktor und nicht im OnPaint() Ereignis dem Form zu.

Also einfach:
meinPanel.Controls.Add(UC_Circel);

Im gleichen Ort wo das Panel erstellt wurde.

Gruss Lothi
rano1972 Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mi 08.10.08 11:11 
ZU erst vielen Dank für die Antwort.
Ja du hast Recht. Dasgleiche mache ich zur Zeit auch. Mein Panel und AddContro in Mainform benutzen.
Allerdings möchte ich das PAnel mit der Kreise als einen Objekt ansprechen d.h.:

ich empfange daten von meine hardware. dies eDaten wirde formatiert und an das meinPanel weitergegeben. In meinPanl definiere eine List von ObjektKreis. MeinPanel hat eine funktion, die überprüft ob eine neue Objektkreis gezeichnet werden soll oder einen alten aktualisieren soll. MeinPanl soll dann selbst das Objektkreis zeichen (different Koordinaten und größe).

meinpanel und die kreis sollen im Laufzeit gezeichnet werden.