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

1

19.09.2004, 20:25

[C#] Fenster in der Mitte

Hi!
Wie bringe ich ein System.Windows.Forms.Form dazu, sich in die Desktopmitte zu positionieren?
THX im Voraus!

PS: Ich verwende die C# 2.0 Beta (öffentlich)

Heiko Kalista

Treue Seele

Beiträge: 99

Wohnort: Hessen

  • Private Nachricht senden

2

19.09.2004, 20:32

Hi!

Ob es dafür schon eine fertige Lösung gibt, weiss ich nicht. Aber wenn Du die aktuelle Bildschirmauflösung abfragst und Deine Fenstergröße kennst, dann kannste Dir die Position doch berechnen?

mfg,
Heiko

3

19.09.2004, 20:51

1. 0, 0 als Position war nicht in der linken oberen Ecke
2. Ich kenne die aktuelle Auflösung nicht

Heiko Kalista

Treue Seele

Beiträge: 99

Wohnort: Hessen

  • Private Nachricht senden

4

19.09.2004, 21:10

Hm, dann frag sie doch ab. Ich hatte mal was ähnliches gebraucht und das hat perfekt funktioniert.

5

19.09.2004, 21:13

Ich weiss aber nicht wie ich sie unter .net abfrage. DLL-Aufrufe von GetSystemMetrics will ich nicht verwenden, weil Longhorn auf .net ausgelegt ist (die WinAPI wirds wohl nur mehr über .net emuliert geben).

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

19.09.2004, 21:27

Soweit ich weiß sind die WinForms nur auf die WInAPi aufgesetzt. Daher mussten sie im Monoprojekt auch ne eigene Form Klasse programmieren.

7

19.09.2004, 21:33

Bis jetzt setzt das ganze .net Framework auf der WinAPI auf, was sich aber mit Longhorn ändern wird.

Klaus

Treue Seele

Beiträge: 245

Wohnort: Stuttgart

Beruf: Schüler

  • Private Nachricht senden

8

19.09.2004, 21:35

Ich benutze noch nicht die nächste Beta, sondern noch das ganz normale Framework 1.1, aber ich denke nicht, dass sich das ändern wird.

Also, in 1.1 gehts so:

Setze einfach deinForm.StartPosition bzw. innerhalb der Forms this.StartPosition auf FormStartPosition.CenterScreen.

Quellcode

1
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;


Wie du die ScreenSize rausbekommst (die du für den Zweck jetzt aber ja nicht mehr brauchst), weiß ich nicht, aber sowas gibts auf jeden Fall im Framework. Ganz sicher...

Ich würd dir mal raten, einfach die Doku zu benutzen (besser offline, als online). Lässt sich gut global durchsuchen, wenn man nicht weiß, in welchem Namespace man das suchen soll, was man haben will.

bye
Klaus
Mozilla Firefox
The Browser - reloaded

9

19.09.2004, 21:37

Das funktioniert perfekt, thx! :)

Klaus

Treue Seele

Beiträge: 245

Wohnort: Stuttgart

Beruf: Schüler

  • Private Nachricht senden

10

19.09.2004, 21:43

btw, wie is denn das mit dem Framework 2.0... läuft das mit dem aktuellen VisualStudio .NET oder benötigt man da auch die Beta der nächsten VS Version?
Mozilla Firefox
The Browser - reloaded

Werbeanzeige