Announcement

Collapse
No announcement yet.

Forms-Positionierung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Forms-Positionierung

    Guten Morgen zusammen!
    Ich kämpfe schon seit einigen Tagen mit einem - an sich nicht schwierigen - Problem.
    Aufgabenstellung: Ein Form, welches aus VB6 aufgerufen wird, soll eine fixe Größe haben, in der Bildschirmmitte platziert und TopMost liegen.

    Das Problem ist hierbei die mittige Positionierung auf dem Bildschirm.
    Leider scheitern bislang alle Versuche das Form dementsprechen zu konfigurieren.
    Egal, ob ich das Form über den Designer auf "CenterScreen", zur Laufzeit diese Eigenschaft setze oder einfach die Fensterposition manuelle auf Bildschirm-Mittelpunkt setzte, das Fenster wird links oben in der Ecke eingeblendet!

    Das Kuriose dabei ist, dass dieses Phänomen nicht nachvollziehbar ist. Meistens sitzt das Form an der richtigen Stelle, manchmal jedoch (meist nach einen System-Neustart) wird das Form links oben geöffnet. Ein weiterer seltsamer Punkt ist, dass diese eben aus VB6-Programmen passiert. Wird das Formular über ein anderes .NET Programm aufgerufen so funktioniert es!!

    Habt ihr Tipps für mich, da ich hier wirklich nicht mehr weiterkomm....

  • #2
    Prüfe die Anwendung mal auf einem anderen Rechner. Manchmal greifen Grafikkartentreiber ein und versuchen die Positionierung von Formularen zu verbessern. Dass kann dann jegliche Optionen der Anwendung durchaus ausser Kraft setzen.
    Schöne Grüße, Mario

    Comment


    • #3
      Das habe ich bereits!
      Aber leider ist kein Zusammenhang zwischen Treiber der Grafikkarte und diesem Positionierungsproblem feststellbar...

      Trotzdem danke für den Tipp!!

      Comment


      • #4
        Dim rect As Rectangle
        Dim returnValue As Rectangle

        returnValue = Screen.GetBounds(rect)
        Debug.Print(returnValue.Width)
        Debug.Print(returnValue.Height)
        und dann die Form.left =(returnValue.Width-form.width) /2 usw
        ist doch krank oder

        Comment


        • #5
          Jepp ist krank und funktioniert leider auch nicht! ;-) Sowas hab ich auch versucht:

          Ich habe bereits selbst eine "Lösung" hierfür gefunden:
          Ursache ist anscheinden ein Darstellungsproblem von .NET!

          Wird vor Anzeige dieses Dialoges eine Messagebox aufgerufen, so funktioniert es, und der verschobenen Dialog wird an der richtigen Stelle angezeigt!
          Deswegen lasse ich nun, bevor ich das reguläre Form anzeigen lasse, ein transparentes Form außerhalb des Bildschirms anzeigen und schließe das dann wieder!
          Somit wird das eigentliche Fenster richtig angezeigt und kann auch mittels CenterScreen-Option richtig dargestellt werden!!

          Comment

          Working...
          X