Bildschirmgrösse



  • Hallo zusammen, wie ermittele ich bei .NET WinForms die Bildschirmgrösse meines Monitors ? Wieso kann man Bildschirm-Auflösungen zB 1024x768 Pixel auf Monitoren verschiedener Breite unverzerrt darstellen ? Könnte es sein, dass bei einem breiteren Monitor die Pixel breiter sind ? Wahrscheinlich nicht ! Ich habe die Frage schon in einem anderen Forum gestellt, und war mit der Antwort nicht zufrieden, Sorry ...



  • Geht es mit Screen.PrimaryScreen.WorkingArea ? Wird da die Anzahl der Pixel, der Breite und Höhe des Monitors wiedergegeben ? Also die Bildschirmgrösse ? Vergesst das mit den breiteren Pixel !



  • Anschliesser schrieb:

    Wieso kann man Bildschirm-Auflösungen zB 1024x768 Pixel auf Monitoren verschiedener Breite unverzerrt darstellen ?

    Wieso ist der Himmel grün?

    Anschliesser schrieb:

    Könnte es sein, dass bei einem breiteren Monitor die Pixel breiter sind ?

    So gut wie alle PC Monitore haben quadratische Pixel.

    Anschliesser schrieb:

    Ich habe die Frage schon in einem anderen Forum gestellt, und war mit der Antwort nicht zufrieden, Sorry ...

    Wahrscheinlich weil du total konfus schreibst.



  • Anschliesser schrieb:

    Geht es mit Screen.PrimaryScreen.WorkingArea ? Wird da die Anzahl der Pixel, der Breite und Höhe des Monitors wiedergegeben ? Also die Bildschirmgrösse ?

    Nein.
    Aber bloss nicht selbst Doku lesen. Bloss nicht!!


  • Administrator

    hustbaer schrieb:

    Anschliesser schrieb:

    Ich habe die Frage schon in einem anderen Forum gestellt, und war mit der Antwort nicht zufrieden, Sorry ...

    Wahrscheinlich weil du total konfus schreibst.

    Es ist konfus, aber ich denke es basiert auf irgendwelchen massiven Missverständnissen.

    @Anschliesser,
    Ich würde empfehlen, dass du uns eher sagst, was du eigentlich machen möchtest. WinForms unterstützt z.B. bereits von Haus aus Techniken, um deine Elemente gemäss Bildschirmauflösung anzuordnen, strecken oder sonst wie anzupassen. Das muss man meistens gar nicht mehr selber machen, sondern einfach die richtigen Werkzeuge verwenden. Um die sagen zu können, welche Werkzeuge du verwenden solltest, müssten wir aber zuerst wissen, was du eigentlich tun möchtest 😉



  • Aber Breite und Höhe des Arbeitsbereiches ohne Symbol und Taskleiste. Habe ich aus der Doku. Wenn ich nicht konfus wäre, hätte ich auch keine guten ( und schlechten, aber eben auch keine guten ) Ideen, die bei meiner Arbeit unabdingbar sind. Freilich peinlich im Forum. Offensichtlich ist das Verhältnis von Breite und Höhe des Monitors, anders als bei der Auflösung.



  • Dann beleuchte ich das Problem noch anders: Mein selbstgeschriebenes Schachprogramm füllt auf meinem Entwicklungs-PC den ganzen Bildschirm. Auf einem anderen PC mit breiterem Monitor ist die rechte Hälfte leer. Andere Programme wie etwa OpenOffice-Writer, füllen bei beiden PC den ganzen Monitor. Also muss man beim entwickeln die Masse des Monitors mit einberechnen. Ich dachte, dass bei einem breiteren Monitor das Bild einfach gedehnt sein müsste. Das kann aber nicht sein ! Dann müsste mein Schachbrett gedehnt werden, was aber nicht der Fall ist. Und das Bildschirmgrössenverhältnis hat mit dem Auflösungsverhältnis nichts zu tun, soweit bin ich gekommen. Das mit Screen ... müsste gehen ( ohne Symbol und Taskleiste! ).


  • Administrator

    Ich finde es etwas seltsam, dass du dein Schachbrett dehnen willst. Willst du das nicht immer quadratisch halten? Wenn ich eine Software sehen würde, welche sowas dehnt, würde ich die Software als schlecht programmiert ansehen. Womöglich wäre es sinnvoller das Schachbrett einzumitten und ein Hintergrund einzufügen?

    Wie erstellst du denn das Schachbrett?



  • Ja entschuldigung, aber das Schachprogramm habe ich mit C++ MFC entwickelt, aber Problematik ist so glaube ich dieselbe. Heutzutage arbeite ich mit C# .NET meiner Meinung viel besser, weil mehr gekapselt ist. Ich bin total daneben, während dem Informatik-Studium an der Psyche erkrankt, muss starke Medikamente nehmen, man sollte mich vielleicht gar nicht auf das Forum loslassen. Das nur nebenbei ...



  • Hier ist die Reihenfolge der Beiträge durcheinandergekommen, selbstverständlich muss mein Schachbrettt quadratisch sein.


  • Administrator

    Anschliesser schrieb:

    Ja entschuldigung, aber das Schachprogramm habe ich mit C++ MFC entwickelt, aber Problematik ist so glaube ich dieselbe.

    Nur die Lösung ist völlig unterschiedlich, weil es völlig andere Werkzeuge sind.

    Daher kann ich dir auch nur ganz grob weiterhelfen. Wenn du dein Schachbrett selber zeichnest über System.Drawing, dann wirst du vieles selber machen müssen. Wenn du dagegen Controls verwendest, kannst du die verschiedenen Layouts von WinForms verwenden. Siehe z.B: https://msdn.microsoft.com/en-us/library/ms951306.aspx

    Kenne auswendig leider keine guten Tutorials dazu. Aber die Suchmaschine deiner Wahl sollte dir da weiterhelfen können, um entsprechende Tutorials zu finden.



  • Aber das Problem ist, dass ich auf einem breiteren Monitor viel mehr Elemente einfügen kann. Beim Schachprogramm noch eine Liste mit den Zügen, eine Uhr usw. Es soll aber auch bei einem weniger breiten Monitor mit diesen Elementen laufen. Beim Veröffentlichen müsste man als Systemvoraussetzungen noch eine geeignete Monitorgrösse angeben. Wenn man nur ein minimale Ausstattung einbaut, ist die rechte Hälfte leer, geht auch nicht.



  • Ok, mit den Layouts von WinForms müsste man hinkommen ...


Anmelden zum Antworten