Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 将项目添加到my.settings StringCollection_Vb.net - Fatal编程技术网

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社区。“值”文本框的右侧没有省略号。