Maximieren der Form durch Windowstaste + Pfeiltaste verhindern?

  • VB.NET
  • .NET (FX) 1.0–2.0

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Vultrax.

    Maximieren der Form durch Windowstaste + Pfeiltaste verhindern?

    Hallo

    Kann man das maximieren der Form durch die Windowstaste + Pfeiltaste verhindern?
    Ich habe bereits MaximizeBox auf False und AutoSizeMode auf GrowAndShrink gesetzt, allerdings kann ich durch diese Tastenkombination immer noch meine Form maximieren ...

    (Beispielbild)


    Ich hoffe, Ihr könnt mir weiterhelfen! :)
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford

    Vultrax schrieb:

    verhindern
    Probierma

    VB.NET-Quellcode

    1. Private Sub Form1_Resize(sender As Object, e As EventArgs) Handles MyBase.Resize
    2. If Me.WindowState = FormWindowState.Maximized Then
    3. Me.WindowState = FormWindowState.Normal
    4. End If
    5. End Sub

    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    xtts02 schrieb:

    daher funktioniert der Code von @RodFromGermany nicht.
    Bei welcher Aufgabenstellung?

    Vultrax schrieb:

    Kann man das maximieren der Form durch die Windowstaste + Pfeiltaste verhindern?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany
    Ja, der Versuch, WindowState im Resize-Event auf FormWindowState.Normal zurückzusetzen, funktiniert nicht, da dieses während des angedockten Zustandes ("Maximized") immer immer noch den Wert FormWindowState.Normal hat.

    EDIT: Also Änderung der Form mit Tastenkombination WINDOWS+Pfeil löst anscheinend kein Resize-Event aus.

    xtts02 schrieb:

    während des angedockten Zustandes
    Jou.
    Aber Dock Links und Dock Rechts ist nicht maximiert. Leider gibt es dafür keinen besonderen Terminus. :/
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Vultrax schrieb:

    Kann man das maximieren der Form durch die Windowstaste + Pfeiltaste verhindern?
    Und generell ist sowas einfach ein schlechtes Benehmen, wenn man dem User Teile der gewohnten Standard-Windows-Funktionalität wegnehmen will.
    Königsweg ist halt, ein dynamisches Layout zu basteln, was auf kleinen wie auf großen Fenstern richtig aussieht.
    Vielen Dank erstmal für eure Antworten! :)

    RodFromGermany schrieb:

    Vultrax schrieb:

    verhindern
    Probierma

    VB.NET-Quellcode

    1. Private Sub Form1_Resize(sender As Object, e As EventArgs) Handles MyBase.ResizeIf Me.WindowState = FormWindowState.Maximized ThenMe.WindowState = FormWindowState.NormalEnd IfEnd Sub


    Das hatte ich auch bereits getestet, allerdings funktioniert das (wie bereits von @xtts02 geschrieben) nicht.

    ErfinderDesRades schrieb:

    Vultrax schrieb:

    Kann man das maximieren der Form durch die Windowstaste + Pfeiltaste verhindern?
    Und generell ist sowas einfach ein schlechtes Benehmen, wenn man dem User Teile der gewohnten Standard-Windows-Funktionalität wegnehmen will.Königsweg ist halt, ein dynamisches Layout zu basteln, was auf kleinen wie auf großen Fenstern richtig aussieht.


    Mit diesen "dynamischen Layouts" (gab es dazu nicht einen Thread?) habe ich noch so meine Probleme, habe es bislang noch nicht hinbekommen, wie man das alles ordentlich miteinander verknüpft und verschiebt.

    fichz schrieb:

    Ändere den FormBorderStyle der Form auf FixedSingle.
    Du kannst dann halt generell die Form-Größe nicht mehr verändern.

    lg


    Das Problem ist nur, dass ich FormBorderStyle = None nutze um meine Anwendung optisch besser zu gestalten.
    "Denken ist die schwerste Arbeit, die es gibt. Das ist wahrscheinlich auch der Grund, warum sich so wenig Leute damit beschäftigen." - Henry Ford