Formanwendung mit Parameterübergabe an die Form

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Formanwendung mit Parameterübergabe an die Form

    Moin!

    ich habe eine Anwendung bei der aus einem Modul eine Form wie folgt aufgerufen wird:

    VB.NET-Quellcode

    1. Sub Main(args As String())
    2. Dim DokumentFolder As String = ""
    3. Init()
    4. If args.Length = 0 Then Return
    5. DokumentFolder = CommandLineArgumentsAreOK()
    6. If DokumentFolder.Length = 0 Then
    7. Return
    8. Else
    9. ' Grundst_RootFolder = DokumentFolder
    10. Application.Run(New Form1())
    11. End If
    12. End Sub


    Nun würde ich gerne irgendwie zwei Parameter an diese Form übergeben.

    Bei Klassen mache ich dieses ansonsten immer über

    VB.NET-Quellcode

    1. Public Property ListOfFestPkt() As String
    2. Get
    3. Return _ListOfFestPkt
    4. End Get
    5. Set(ByVal Wert As String)
    6. _ListOfFestPkt = Wert
    7. End Set
    8. End Property


    Kann mir einer von Euch sagen wie das hier läuft, weil ja vorab kein (hier ein Beispiel)

    VB.NET-Quellcode

    1. Dim f As New frm_Vermessung_NivPkt
    2. with f
    3. .Text = "Höhen importieren"
    4. .ShowDialog()
    5. End With


    steht.

    Kann mir einer weiterhelfen?

    Gruß Jan
    Hier mal ein Paar Möglichkeiten, die keine besondere Ordnung haben:
    • statische properties in der Programm.cs die von der Form ausgelesen werden
    • Properties in deiner Form, die vor Application.Run() gesetzt werden (Form zuerst Initalisieren, dann Properties setzen, dann Application.Run())
    • Eine statische Klasse DataExchange, die von überall aufgerufen werden kann, Daten entgegen nehmen kann (mit einem Key) und wieder ausgeben kann.
    • Eine Datei im AppData Ordner, die von Programm.cs erstellt wird, und von der Form ausgelesen wird
    • Eine Datenbank in der die Daten festgeschrieben werden
    • ...

    Kurz gesagt, viele Wege führen nach Rom.
    @jan99 Mit Environment.GetCommandlineArgs() kannst Du von überall her auf die Befehlszeilen-Argumente zugreifen.
    Setze zunächst einen Haltepunkt grauf und sieh Dir das Element mit dem Index 0 an :!:
    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!