ini-Wert der Me.Location.X zuweisen?

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von AlexII.

    ini-Wert der Me.Location.X zuweisen?

    Hi,

    hab das ne Frage, und zwar: ich möchte die Werte für "Me.Location.X" und "Me.Location.Y" aus einer INI auslesen, aber irgendwie klappt das bei mir nicht. Also hab folgenden Code und bekomme die Fehlermeldung - "Fehler: Der Ausdruck ist ein Wert und kann nicht als Ziel einer Zuweisung verwendet werden."

    VB.NET-Quellcode

    1. 'INI auslesen
    2. Me.Location.X = INI.WertLesen("Form", "Positionx", 0)
    3. Me.Location.Y = INI.WertLesen("Form", "Positiony", 0)
    hatte man schon öfters, Location ist vom Typ Point und dies ist eine Struktur, diese kannst du nur direkt zuweißen, also über New Point(xWert,yWert), jedoch sollte xWert und yWert vom Typ Integer sein, jedoch glaube ich, dass dir WertLesen einen Integer zurück gibt, also verwende Integer.Parse/TryParse um Fehler zu vermeiden...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Kannst du mir bitte das genauer erklären, kenne VB nur zwei Tage.

    Aber mit der Size hat das geklappt, hatte auch diese Fehlermeldung, aber dann habe ich das hier:

    VB.NET-Quellcode

    1. Me.Size.Width = INI.WertLesen("Form", "Width", 840)
    2. Me.Size.Height = INI.WertLesen("Form", "Height", 450)


    durch das ersetzt und es läuft

    VB.NET-Quellcode

    1. Me.Width = INI.WertLesen("Form", "Width", 840)
    2. Me.Height = INI.WertLesen("Form", "Height", 450)


    Wieso klappt das mit der Location nicht? ?(
    für die Position gäbe es Left und Top, aber ich habe dir auch bereits geschrieben, dass es mit "New Point(xWert,yWert)" funktioniert...
    und es fehlt auch bei der größe ein Integer.Parse...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    für die Position gäbe es Left und Top, aber ich habe dir auch bereits geschrieben, dass es mit "New Point(xWert,yWert)" funktioniert...
    und es fehlt auch bei der größe ein Integer.Parse...

    Und wie komme ich auf die Eigenschaften Left und Top, finde sie in den Eigenschaften des Forms nicht. ?(
    Ja ich verwende die Klasse schon, und schreibe/lese die INI bereits erfolgreich, nur die Position des Forms kann ich nicht. Muss Microsoft das so kompliziert machen, verstehe ich nicht?

    So läuft das in Delphi:

    VB.NET-Quellcode

    1. Left := Ini.ReadInteger('Default', 'FormLeftPos', -1);
    2. Top := Ini.ReadInteger('Default', 'FormTopPos', -1);


    Rucki, zukich, 30 Sek. und fertig.
    jbsl hat schon alles beschrieben, für position verwende Eigenschaften "Left" & Right"

    Wo finde ich die? ?( Suche schon seit 20 min. nach diesen? Im Editor werden mir diese auch nicht vorgeschlagen? Oder fehlt das in VB 2010? Ich hab VB 2010 Express
    Ja hab ich schon. :)

    VB.NET-Quellcode

    1. Dim INI As New INIDatei
    2. Dim left As Integer
    3. Dim top As Integer
    4. INI.Pfad = My.Application.Info.DirectoryPath & "\Settings.ini"
    5. If IO.File.Exists(INI.Pfad) Then
    6. 'INI auslesen
    7. Me.WindowState = INI.WertLesen("Form", "WindowState", FormWindowState.Normal)
    8. Me.Width = INI.WertLesen("Form", "Width", 840)
    9. Me.Height = INI.WertLesen("Form", "Height", 450)
    10. left = INI.WertLesen("Form", "Positionx", 0)
    11. top = INI.WertLesen("Form", "Positiony", 0)
    12. 'Auswerten
    13. If Me.WindowState = FormWindowState.Minimized Then
    14. Me.WindowState = FormWindowState.Normal
    15. End If
    16. Me.Location = New Point(left, top)
    17. End If