Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

babelfish

Alter Hase

  • »babelfish« ist der Autor dieses Themas

Beiträge: 1 222

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

1

26.07.2009, 14:39

Variante zu MDI / Forms verschachteln (C#)

Hi

Gibt es eine möglichkeit, die Fenster zu verschachteln ohne gleich einen MDI-Conatiner erstellen zu lassen? Ich möchte dieses System auf dem ganzen Hauptfenster anwenden, aber trotzdem noch weitere Elemente darauf ablegen können ohne den Container zu verkleinern. Ausserdem wäre es gut wenn man Scrollbars, Hintergrundfarbe, etc. beliebig ändern könnte. Was bei MDI nur allzu mühsam scheint.

C--

Alter Hase

Beiträge: 465

Beruf: Schüler

  • Private Nachricht senden

2

26.07.2009, 18:24

Zitat von »"babelfish"«

Gibt es eine möglichkeit, die Fenster zu verschachteln ohne gleich einen MDI-Conatiner erstellen zu lassen?


Ja, beim untergeordneten Fenster TopLevelControl auf false setzen und beim selben Fenster Parent auf das Fenster, das übergeordnet sein soll setzen.

Beispiel:

Quellcode

1
2
3
4
5
6
7
untergeordnet u = new untergeordnet();
u.TopLevelControl = false;

uebergeordnet ue = new uebergeordnet();
u.Parent = u;

u.Show();


Habs nicht ausprobiert, müsste aber funktionieren.
Ich spreche: C/C++, C++/CLI C#, VBA, VB.NET, Delphi, (HTML, Javascript(bisschen))
------------------------------------------------------------
Hier steht eventuell schon in ein paar Monaten der Link zu meiner Homepage!

return 0;
;)

babelfish

Alter Hase

  • »babelfish« ist der Autor dieses Themas

Beiträge: 1 222

Wohnort: Schweiz

Beruf: Informatiker

  • Private Nachricht senden

3

26.07.2009, 19:17

Genau das was ich gesucht habe, danke!

Allerdings muss man nicht die Eigenschaft "TopLevelControl" sondern "TopLevel" ändern. Vollständigkeitshalber ein Beispiel:

Quellcode

1
2
3
4
5
6
7
form_child myForm = new form_child();

// Das Fenster in diesem unterbringen (this)
myForm.TopLevel = false;
myForm.Parent = this;

myForm.Show();

C--

Alter Hase

Beiträge: 465

Beruf: Schüler

  • Private Nachricht senden

4

26.07.2009, 19:22

Hast recht mit TopLevel :oops: , danke das du mich verbessert hast. :lol:
Ich spreche: C/C++, C++/CLI C#, VBA, VB.NET, Delphi, (HTML, Javascript(bisschen))
------------------------------------------------------------
Hier steht eventuell schon in ein paar Monaten der Link zu meiner Homepage!

return 0;
;)

Werbeanzeige