Dynamische Positionierung eines Buttons > Fehler

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Nikolai.

    Dynamische Positionierung eines Buttons > Fehler

    Hi an alle


    Habe ein Problem: ich möchte meine Form komplett dynamisch erstellen. das heißt die formgröße etc wird beim programmstart an die auflösung angepasst und die elemente werden geordnet

    nun habe ich ein problem, und zwar button wollen sich nicht ordnen

    ich habe schon die position von ihnen ausgegeben. also wenn man logisch nachdenkt, müssten die zu sehen sein


    mein code:

    VB.NET-Quellcode

    1. Me.Width = Screen.PrimaryScreen.Bounds.Width
    2. Me.Height = Screen.PrimaryScreen.Bounds.Height
    3. Me.Left = 0
    4. Me.Top = 0
    5. Me.editor.Width = 0.99 * Me.Width
    6. Me.editor.Left = 0.005 * Me.Width
    7. Me.editor.Height = 0.85 * Me.Height
    8. Me.editor.Top = 0.005 * Me.Width
    9. Me.cmd_end.Top = Me.Height - (Me.cmd_end.Height)
    10. Me.cmd_end.Left = Me.Width - (Me.cmd_end.Width + 10)
    ich verstehe nicht ganz dein Problem, Nikolai. Ich hab deinen Code bei mir probiert, klappt auch soweit, allerdings nur wenn man den FormBorderStyle auf None setzt (weil er sonst von der Unterkante der Titelleiste rechnet). Was genau willst du erreichen?
    @Mike

    ich hatte das im Load
    in Shown geht leider auch nicht

    VB.NET-Quellcode

    1. Private Sub start_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
    2. Me.Width = Screen.PrimaryScreen.Bounds.Width
    3. Me.Height = Screen.PrimaryScreen.Bounds.Height
    4. Me.Left = 0
    5. Me.Top = 0
    6. Me.editor.Width = 0.99 * Me.Width
    7. Me.editor.Left = 0.005 * Me.Width
    8. Me.editor.Height = 0.85 * Me.Height
    9. Me.editor.Top = 0.005 * Me.Width
    10. Me.cmd_end.Top = Me.Height - (Me.cmd_end.Height + 10)
    11. Me.cmd_end.Left = Me.Width - (Me.cmd_end.Width + 10)
    12. My.Application.DoEvents()
    13. End Sub


    @Lupus

    ich will mein Fenster an die Bildschirmauflösung anpassen. Das macht er

    dann will ich meinen button (cmd_end) in dem dynamisch vergrößerten Fenster unten rechts packen, 10 pixel von unteren rand und 10 vom rechten

    das mit der taskleiste ist auch so eine sache. kann man nicht die Form maximieren, wenn ich es gerade starte? also von anfang an maximieren?

    gruß
    also bei mir hat das genau so funktioniert wie du geschrieben hast, der Button war rechts unten.
    Und du kannst das minimiert machen, indem du die WindowState-Eigenschaft änderst.
    ok, habs hingekriegt

    Problem war wegen border. der hat es i-wohin verschoben

    als ich

    Me.cmd_end.Top = Me.Height - (Me.cmd_end.Height + 30)
    Me.cmd_end.Left = Me.Width - (Me.cmd_end.Width + 30)

    gemacht hab, war er da

    Vielen Dank

    Gruß :)