msgbox - position festlegen

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Confix.npage.de.

    msgbox - position festlegen

    Hallo zusammen

    ich stehe wieder mal vor einem Problem

    Ich habe eine Form (Programm) welche öfter verschoben wird - manchmal auch auf einen 2ten Bildschirm.
    Es wird nun öfter eine msgbox eingeblendet - leider nicht auf der position der Form
    (echt blöd wenn man mit der Maus jedes mal zum quittieren auf den anderen Bildschirm scrollen muß).
    Gibt es eine Möglichkeit vorzugeben auf welcher Position die msgbox erscheint.
    Die Position der Form kann ich ja erfahren, müsste diese nur der msgbox mit übergeben können.
    Ich hab schon viel gesucht aber bis jetzt noch keine passende Lösung gefunden.

    Gruß
    Norbert :wacko:
    Hättest du rausgefunden, wenn du dir mal die 21 Überlagerungen in der IntelliSense angesehen hättest, dann wäre dir aufgefallen dass es ein Parameter dort gibt owner As System.Windows.Forms.IWin32Window

    Also ganz einfach

    VB.NET-Quellcode

    1. MessageBox.Show(Me, "Inhalt", "Titel", MessageBoxButtons.OK, MessageBoxIcon.Error)

    Dodo schrieb:

    Hättest du rausgefunden, wenn du dir mal die 21 Überlagerungen in der IntelliSense angesehen hättest, dann wäre dir aufgefallen dass es ein Parameter dort gibt owner As System.Windows.Forms.IWin32Window

    Also ganz einfach

    VB.NET-Quellcode

    1. MessageBox.Show(Me, "Inhalt", "Titel", MessageBoxButtons.OK, MessageBoxIcon.Error)
    owner: Ein System.Windows.Window, das das Besitzerfenster des Meldungsfelds darstellt.

    Gibt der Besitzer auch die Position vor?
    Ich würde das gern mal testen hab aber kein Dual Screen hier...
    Hallo zusammen

    danke für eure antworten.

    ich weis nun einen Fehler von mir.
    Ich konnte keine intellisens sehen, da

    Quellcode

    1. msgbox("ssss")

    scheinbar hier keine anzeigt wird.
    Nachdem ich aber nun die

    Quellcode

    1. messagebox.show(me,"text")
    benutzt habe bekam ich auch eine "intellisense" - welch ein wunder !

    Allerdings ist mein Problem immer noch nicht gelöst.
    Die messagebox erscheint nicht auf der Position meiner Form sondern in der Mitte des Bildschirms. Obwohl ich ja (me) angegeben habe. Ich hätte da schon erwartet daß die Meldung innerhalb der Form auftaucht.
    Geht das jetzt nicht oder was mach ich da noch verkehrt.

    Gruß
    Norbert
    Nein das geht nicht, MessageBoxen sind ja kein Member der Form, so dass sie sich drauf beziehen können. Auch wenn deine Form aufm ersten Screen ist und die MEssagebox kommst, wird die IMMER in der Mitte sein. Das "Me" sagt der Messagebox nur wo sich die Aufzurufende Form befindet und wenn sie sich auf dem zweiten Monitor befindet dann kommt die Bos dort in der mitte. Ich habe noch nie gesehen das eine Windows Messagebox an einer anderen position kommt, außer sie wurde selbst programmiert.
    Dann machs einfach so machn Screen von einer Messagebox schneide die Buttons raus (die msgbox muss leer sein) nimmst als bg von einem Dialog tuhst Buttons drauf und ein Label du kannst es sogar Positionieren wow!
    Nach meiner sicht: Einer der nutzlosesten dinge die es überhaupt gebe könnte (Messagebox Positionieren) wozu dass bitte?
    und deine Beschreibung ist noch viel viel schlimmer als die Frage danach .. das kann mal vorkommen aber deine Beschreibung ist mehr als nur bescheuert.

    Wieso ein Bild machen? Da kann man eine ganz normale Windows Form nehmen Min und Max Buttons Disablen, Icon Disablen, Command Buttons hinzufügen und eine Picturebox wo man dann z.B. aus der shell32.dll oder sosnt so das entsprechende Icon extrahiert.