Vb.net 将项目添加到my.settings StringCollection
我的设置中有一个字符串集合。我想在文本框中添加一个字符串。我试过这个:Vb.net 将项目添加到my.settings StringCollection,vb.net,Vb.net,我的设置中有一个字符串集合。我想在文本框中添加一个字符串。我试过这个: My.Settings.Usernames.Add(textbox1.Text) 但是当代码执行时,我被抛出这个错误: System.NullReferenceException:对象引用未设置为对象的实例 有什么想法吗?我非常感谢您的回答,谢谢。您很可能还没有实例化它 如果此时运行该程序,则不会实际创建设置,因此如果尝试从集合中添加或删除项,则会出现错误“对象引用未设置为对象的实例” 有几种方法可以解决这个问题。首先,
My.Settings.Usernames.Add(textbox1.Text)
但是当代码执行时,我被抛出这个错误:
System.NullReferenceException:对象引用未设置为对象的实例
有什么想法吗?我非常感谢您的回答,谢谢。您很可能还没有实例化它 如果此时运行该程序,则不会实际创建设置,因此如果尝试从集合中添加或删除项,则会出现错误“对象引用未设置为对象的实例” 有几种方法可以解决这个问题。首先,如果设置对象为null,则可以在运行时创建它,但这有点麻烦
更好的解决方案是单击“设置”页面上的“值”文本框。然后单击右侧的省略号以打开字符串集合编辑器。如果在不添加任何字符串的情况下关闭此设置,则“设置”窗口仍不会实际创建设置对象。要防止出现这种情况,请向字符串集合编辑器添加一个字符串,然后单击“确定”。然后再次打开编辑器,删除字符串,然后单击“确定”。这会保留设置对象,但它是空的。很可能您还没有实例化它 如果此时运行该程序,则不会实际创建设置,因此如果尝试从集合中添加或删除项,则会出现错误“对象引用未设置为对象的实例” 有几种方法可以解决这个问题。首先,如果设置对象为null,则可以在运行时创建它,但这有点麻烦
更好的解决方案是单击“设置”页面上的“值”文本框。然后单击右侧的省略号以打开字符串集合编辑器。如果在不添加任何字符串的情况下关闭此设置,则“设置”窗口仍不会实际创建设置对象。要防止出现这种情况,请向字符串集合编辑器添加一个字符串,然后单击“确定”。然后再次打开编辑器,删除字符串,然后单击“确定”。这会保留设置对象,但它是空的。另一种动态执行此操作的方法是根据应用程序的启动方式,在窗体加载事件或Sub-Main中执行:
' initialize the collection ias needed:
If My.Settings.Usernames Is Nothing Then
My.Settings.Usernames = New System.Collections.Specialized.StringCollection
End If
通过在
Settings
中添加一个伪字符串来强制它初始化,这是一个很好的方法,可以让它成为一个设计时任务。但这非常简单,并将其视为使用前需要实例化的任何其他对象。另一种动态执行此操作的方法是根据应用程序的启动方式,使用“加载事件”或“Sub-Main”:
' initialize the collection ias needed:
If My.Settings.Usernames Is Nothing Then
My.Settings.Usernames = New System.Collections.Specialized.StringCollection
End If
通过在
Settings
中添加一个伪字符串来强制它初始化,这是一个很好的方法,可以让它成为一个设计时任务。但这很简单,并且将其视为使用前需要实例化的任何其他对象。第一步,将F9放在第二行,检查什么是空的我很困惑,你能详细说明吗?第一步,将F9放在第二行,检查什么是空的我很困惑,你能详细说明吗?似乎有效,谢谢。我正在使用VS 2015社区。“值”文本框右侧没有省略号。似乎有效,谢谢。我正在使用VS 2015社区。“值”文本框的右侧没有省略号。