我需要将My.settings从第一个解决方案加载到第二个。
在第一个项目中,我有一个帮助类来获取设置。
Public Class format
Public NotInheritable Class Helper
Private Sub New()
End Sub
Public Shared Function getAppSetting() As String
Dim returnValue As Object = My.Settings.format
If returnValue Is Nothing Then
Return String.Empty
Else
Return returnValue.ToString
End If
End Function
Public Shared Function getAppSettingTheme() As String
Dim returnValue_theme As Object = My.Settings.theme_selected
If returnValue_theme Is Nothing Then
Return String.Empty
Else
Return returnValue_theme.ToString
End If
End Function
End Class
End Class
这个课我已经在其他解决方案中实现了(甚至成瘾我有一套)
在其他解决方案中,我有获取设置的代码。
Imports MyProject.format.Helper
MsgBox(getAppSettingTheme())
但是在MsgBox中我看到默认设置(未更改)在第一个解决方案中显示用户更改的设置。
My.Settings我保存了[My.settings.save]
答案 0 :(得分:0)
如果您选择以复杂的方式执行此操作,您需要做的是,让第一个项目中的类读取My.Settings
,然后在另一个项目中引用该项目并使用它...... < / p>
然而,我宁愿描述一种更容易实现目标的方法(上述方法并不难)。
首先,我相信您正在使用My.Settings
存储一些数据,对吧?如果是这样,您只需将数据保存到文本文件中并从任何您想要的地方读取。这样可以节省大量的数据。代码并使其整洁:)
由于您似乎是初学者,我会尽量保持简单,并用最简单的词语解释......
现在,我们假设您有4个My.Settings
条目,如下所示:
<强>用户名强>
密码强>
<强>电话强>
<强>年龄强>
不是在My.Settings
中写入这些数据,而是将其写入文本文件。让我们假设用户输入相关数据,它看起来有点像这样:
Zack Rayan
<强> 1212121 强>
<强> 090990809809 强>
<强> 20 强>
要编写文本文件,您只需使用File.WriteAllText
,但正如我们在此处看到的那样,我们的数据是多行的,我们可以使用以下内容:
FIle.WriteAllLines
File.AppendText
好吧,让我们使用File.AppendText
方法(您可以将以下代码与WriteAllText
一起使用:)):
File.AppendText("C:\test.mycustomExtension" , "Zack Rayan" + Environment.NewLine + "1212121" + Environment.NewLine + "+090990809809" + Environment.NewLine + "20")
这将为您编写一个包含给定数据的文本文件,并且您将拥有自己的文件自定义扩展名:)
现在,如何使用它?
简单:
Dim ReadFile as New List(Of String)(File.ReadAllLines("C:\Test.mycustomextension"))
现在,让我们假设,当您使用My.Settings
时,您使用了以下代码:
If My.Settings.UserName = "Zack" Then
......
向上滚动并仔细观察。 UserName 是您My.Settings
的第一个条目,当我们编写文本文件时, ZACK RAYAN - 假定的用户名也写在第一个行
上面几行,我创建了一个读取文本文件的列表。不用说它会首先读取(并存储)第一行,然后逐渐继续。那么,你在哪里使用:
If My.Settings.UserName = "Zack" Then
你现在应该使用:
If ReadFile(0) = "Zack" Then
我希望这有助于丰富你的知识:)