Autor Beitrag
ReBeL1337
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 22



BeitragVerfasst: Fr 29.02.08 12:50 
Hallo, ich habe folgendes Problem.
Ich habe ein Großes Panel in dem ein Bild von einer Platine ist, auf diesem Panel sind 4 kleine Panel die ein Pfeil als Bild haben. Diese Panel/Pfeile sind die ganze zeit unsichtbar und es wir immer nur einer sichtbar wenn dieser auch gerde irgendetwas zeige muss. ( Die vier Pfeile zeigen auf vier unterschiedliche Potentiometer )
Je nach dem in welchem Arbeitsschritt man sich gerade befindet muss man an einem anderen Potentiometer etwas einstellen und die Pfeile zeigen einem wo das Teil auf der Platine liegt.

Zum Problem:
Wenn ich jetzt das ganze Fenster größer mache bzw. Maximiere vergrößert sich das Panel mit der Platine.
Das soll auch so sein, aber leider verschieben sich die kleineren Panel die mit den Pfeile nicht, sondern bleiben an ihrer Standartposition stehen.
Und wenn man dann das Programm Startet zeigen die Pfeile natürlich auf die falsche Stelle.

Ich habe schon alles mögliche versucht, mit ankern usw...
Das funktioniert aber nicht, weil sich die kleinen Panel nicht an dem Großen Panel anankern sonder am gesamten Fenster.
Dadurch werden die Pfeile riesig und zeigen trozdem auf die falsche stelle.

Eigentlich müsste ich nur einstellen das sich die kleinen Panel an das große Panel andocken, aber ich habe keine Option gefunden wo man das einstellen könnte.

Gibt es überhaupt eine Möglichkeit das so zu machen?

Oder gibt es vieleicht noch eine andere Methode?

Ich hoffe ihr könnt mir helfen.

MfG
ReBeL
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 29.02.08 13:05 
Wenn Anchor nicht funktioniert gehören deine ~kleinen~ Panels nicht zum ~großem~ Panel sondern liegen nur zufällig über dem ~großen~.

Du mußt schon das ~große~Panel als Container für die ~kleinen~ verwenden.
In Code(vermutlich in deiner Form.Designer.cs) sollte das so aussehen

ausblenden C#-Quelltext
1:
  panelControlGross.Controls.Add(this.panelControlklein);					
ReBeL1337 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 22



BeitragVerfasst: Di 04.03.08 09:05 
Hallo,
danke für die Antwort.
Leider funktioniert das nicht, ich bekomme eine Fehlermeldung.
Das ist der Code, der eigentlich richtig sein sollte.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
private void InitializeComponent()
        {
            panel1.Controls.Add(this.panelVR1);
            panel1.Controls.Add(this.panelVR2);
            panel1.Controls.Add(this.panelVR3);
            panel1.Controls.Add(this.panelVR4);
........


Es kommt dann immer:
Die Variable panel1 wurde nicht deklariert oder nicht zugeordnet.
Die Variable panel1 wurde nicht deklariert oder nicht zugeordnet.
Die Variable panel1 wurde nicht deklariert oder nicht zugeordnet.
Die Variable panel1 wurde nicht deklariert oder nicht zugeordnet.

MfG
ReBeL
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Di 04.03.08 09:32 
dann versuchs mal das ganze erst einzufügen wenn panel 1 auch schon erstellt wurde (weiter unten vermutlich)
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Di 04.03.08 09:40 
Was sollen wir jetzt mit Deinen Informationen anfangen?
user profile iconReBeL1337 hat folgendes geschrieben:

Leider funktioniert das nicht, ich bekomme eine Fehlermeldung.
Das ist der Code, der eigentlich richtig sein sollte.

Wie kommst Du darauf, dass er richtig sein sollte? Wohin gehört die Methode InitializeComponent (Klasse und Quelltext), von wo aus wird sie aufgerufen? Die einzelne Anweisung könnte zwar stimmen, aber der Zusammenhang mit dem Gesamtcode ist wohl fehlerhaft.

user profile iconReBeL1337 hat folgendes geschrieben:

Es kommt dann immer:
Die Variable panel1 wurde nicht deklariert oder nicht zugeordnet.

Diese Fehlermeldung ist doch sehr aussagekräftig. An dieser Stelle gibt es panel1 nicht - weder in der Methode noch in der Klasse; oder panel1 wurde zwar deklariert, aber noch nicht auf jeden Fall zugewiesen (sondern hat noch den Standardwert null). Das ist bakachans Vermutung.

Mit diesen wenigen Informationen können wir aber nicht weiterhelfen. Du musst schon Deinen Code genauer untersuchen. Auch habe ich den Verdacht, dass Du mit einem UserControl arbeitest; oder warum verwendest Du eine selbst geschriebene InitializeComponent-Methode?

Übrigens gehören Namen wie "panel1" verboten; Ralf Jansen hat die bessere Bezeichnung "panelControlGross" verwendet.

Jürgen