如何在VB.net中将字符串转换为代码?

如何在VB.net中将字符串转换为代码?,vb.net,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”。我得到这个结果: 但我希望结果是: 我尝试了以下链接和方法: 代码区-但我不明白 正如ProGamer建议

首先,让我们看看我的代码:

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”
。我得到这个结果:

但我希望结果是:

我尝试了以下链接和方法:

  • 代码区-但我不明白
  • 正如ProGamer建议的那样

    首先

    保存您的
    My.Settings.MDF
    String=None

    按如下方式编辑代码:

    第三

    将以下代码添加到YourFormClose\u事件

    请注意,您应该在MDF设置的“作用域下拉列表”中选择“用户”,而不是“应用程序”,否则My.Settings.Save()将不起作用,并且将保持为“无”

    例如:

    正如ProGamer建议的那样

    首先

    保存您的
    My.Settings.MDF
    String=None

    按如下方式编辑代码:

    第三

    将以下代码添加到YourFormClose\u事件

    请注意,您应该在MDF设置的“作用域下拉列表”中选择“用户”,而不是“应用程序”,否则My.Settings.Save()将不起作用,并且将保持为“无”

    例如:



    为什么要将
    应用程序.StartupPath
    放入设置中?只需在设置中保留文件名,然后使用
    Path.Combine()
    获得完整的文件名否,我希望它就像最初打开文件位置时的Application.StartupPath++“\MyDB.mdf”一样,但稍后如果我要更改数据库位置,则应更改它并保存在我的.Settings中…因此,请使用默认值显示它们,然后,如果他们想更改位置,你必须专门保存他们的整个文件路径。但我不能按我要求的做吗?不,不能直接。。。如果您真的需要这样的变量前缀,我建议您将其存储为“!SUP\MuDB.mdf”之类的格式,然后在读取时进行替换。为什么要将
    Application.StartupPath
    放入设置中?只需在设置中保留文件名,然后使用
    Path.Combine()
    获得完整的文件名否,我希望它就像最初打开文件位置时的Application.StartupPath++“\MyDB.mdf”一样,但稍后如果我要更改数据库位置,则应更改它并保存在我的.Settings中…因此,请使用默认值显示它们,然后,如果他们想更改位置,你必须专门保存他们的整个文件路径。但我不能按我要求的做吗?不,不能直接。。。如果您真的需要这样的可变前缀,我建议您将其存储为“!SUP\MuDB.mdf”之类的格式,然后在阅读时进行替换。我很乐意!等待你的结果。:);)<代码>如果。。。
    FormLoad
    中的else语句没有任何意义,因为您无论如何都要用来自的值覆盖
    txtMDF.Text
    settings@Fabio这是正确的。代码的最后一行将用值“None”覆盖txtMDF.Text中的值,因为My.Settings.MDF中的值仍然包含值“None”并且尚未与新值一起保存。@ChrisDunaway我添加了这一点,因为假设他在ConnectionString中使用该位置,并在Form_Load上打开连接,则他将得到错误,因此我添加了该值,这不会产生影响,因为我认为只有当他在My.Settings.MDF然后就可以了。。。。我想知道我是否正确,请让我知道。。。。tnx!谢谢你们的帮助,但我现在使用Mohammad Zulfikar的代码没有任何问题…我的荣幸!等待你的结果。:);)<代码>如果。。。
    FormLoad
    中的else语句没有任何意义,因为您无论如何都要用来自的值覆盖
    txtMDF.Text
    settings@Fabio这是正确的。代码的最后一行将用值“None”覆盖txtMDF.Text中的值,因为My.Settings.MDF中的值仍然包含值“None”并且尚未与新值一起保存。@ChrisDunaway我添加了这一点,因为假设他在ConnectionString中使用该位置,并在Form_Load上打开连接,则他将得到错误,因此我添加了该值,这不会产生影响,因为我认为只有当他在My.Settings.MDF然后就可以了。。。。我想知道我是否正确,请让我知道。。。。tnx!谢谢你们的帮助,但我现在使用Mohammad Zulfikar的代码没有任何问题。。。
    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
    
    Private Sub FormClosing(sender As Object, e As CancelEventArgs) Handles Me.Closing
        My.Settings.MDF = txtMDF.Text
        My.Settings.Save()
    End Sub