2017-02-21 3 views
0

Во-первых, давайте посмотрим на мой код:Как преобразовать строку в код в VB.net?

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

    txtMDF.Text = My.Settings.MDF 

End Sub 

Предположим My.Settings.MDF имеет строковое значение Application.StartupPath + "\MyDB.mdf". Я получаю этот результат:

Image 1

Но я хочу, чтобы результат:

Image 2

Я попытался следующие ссылки и методы:

+2

Зачем ставить 'Application.StartupPath' в настройки? просто оставьте имя файла в настройке, а затем используйте 'Path.Combine()', чтобы получить полное имя файла –

+1

Нет, я хочу, чтобы он как будто сначала открыл местоположение файла как Application.StartupPath + + "\ MyDB .mdf ", но позже, если я хочу изменить местоположение базы данных, его нужно изменить и сохранить в My.Settings ... –

+0

Итак, представьте их по умолчанию, а затем, если они захотят изменить местоположение, вам нужно будет сохранить их весь путь к файлу. –

ответ

2

Как ProGamer Рекомендуемая,

Первый

Сэкономьте My.Settings.MDF String = None

Второй

Изменить код следующим образом:

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 

Третий

Добавьте следующий код YourFormClose_Event

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

И ЗАМЕЧАНИЕ, что вы должны выбрать «Пользователь» из «Область падения» в настройках для МДФ вместо «Приложения», иначе My.Settings.Save() не будет работать, и он останется «Нет»

Пример:

enter image description here

+1

О, спасибо, это хорошая идея! Спасибо, что поняли ... –

+0

Мое удовольствие! И ожидаем результата. :);) –

+1

'If ... else' в' FormLoad' не имеет смысла, потому что вы перезаписываете 'txtMDF.Text' в любом случае по значению из настроек – Fabio

Смежные вопросы