2017-02-21 4 views
0

Lassen Sie uns zuerst an meinem Code einen Blick:Wie konvertiert man String in VB.net Code?

Private Sub FormLoad(sender As Object, e As EventArgs) Handles MyBase.Load 

    txtMDF.Text = My.Settings.MDF 

End Sub 

Angenommen My.Settings.MDF einen String-Wert von Application.StartupPath + "\MyDB.mdf" hat. Ich erhalte dieses Ergebnis:

Image 1

Aber ich will das Ergebnis sein:

Image 2

ich die folgenden Links und Methoden versucht:

+2

Warum in die Einstellung setzen 'Application.StartupPath'? Lassen Sie einfach den Namen Ihrer Datei in der Einstellung und verwenden Sie dann 'Path.Combine()', um den vollständigen Dateinamen zu erhalten. –

+1

Nein, ich möchte es nur so öffnen, wie zuerst den Speicherort der Datei zu Application.StartupPath + + "\ MyDB .mdf "aber später, wenn ich den Speicherort der Datenbank ändern möchte, sollte es geändert werden und speichern in My.Settings ... –

+0

So präsentieren sie mit der Standardeinstellung, und wenn sie den Speicherort ändern möchten, müssen Sie ihre speichern gesamter Dateipfad speziell. –

Antwort

2

Als ProGamer, Empfohlene

Erste

speichern Sie My.Settings.MDF String = Keine

Zweite

bearbeiten Sie den Code wie folgt:

Private Sub FormLoad(sender As Object, e As EventArgs) Handles MyBase.Load 

    If My.Settings.MDF = "None" Then 
     txtMDF.Text = Application.StartupPath + "\MyDB.mdf" 
    Else 
     txtMDF.Text = My.Settings.MDF 
    End If 
    txtMDF.Text = My.Settings.MDF 

End Sub 

Dritte

den folgenden Code YourFormClose_Event hinzufügen

Private Sub FormClosing(sender As Object, e As CancelEventArgs) Handles Me.Closing 
    My.Settings.MDF = txtMDF.Text 
    My.Settings.Save() 
End Sub 

Und beachten Sie, dass Sie "Benutzer" aus "Scope Drop Down" in den Einstellungen für MDF anstelle von "Anwendung" wählen sollten oder sonst My.Settings.Save() funktioniert nicht und es bleibt "Keine"

Beispiel:

enter image description here

+1

Oh Danke, das ist eine nette Idee! Danke, dass du es klar stellst ... –

+0

Mein Vergnügen! Und warte auf dein Ergebnis. :);) –

+1

'Wenn ... else' Aussage in' FormLoad' keinen Sinn hat, weil du überschreibst 'txtMDF.Text' sowieso nach Wert von Einstellungen – Fabio

Verwandte Themen