更改标签文本错误c#
本文关键字:错误 文本 标签 | 更新日期: 2023-09-27 18:18:18
程序停止工作,出现以下警告
类型为"System"的未处理异常。
WindowsFormsApplication10.exe出现NullReferenceException附加信息:对象引用未设置为类的实例对象。
停止的代码如下:
string stripStatusL = "some text: " + keepValues[lastTaken].ToString();
toolStripStatusLabel1.Text = stripStatusL;
它只是一个带标签的StatusStrip。我正在尝试更改标签的文本。通常它适用于没有StatusStrip的Label。我错在哪里?
Visual Studio 2010c#
我最好的猜测是keepValues
是null
或lastTaken
索引/键(您的代码没有说它是列表还是字典)在集合中不存在。通常的原因是表单设计器可能无法在初始化时传入外部数据。表单有一个DesignMode
属性,如果表单在设计器中运行,则该属性为真,您可以使用该属性在需要时提供一些模拟数据。
我猜keepValues[lastTaken]
是空的。
所以keepValues[lastTaken].ToString();
会给你一个NullReferenceException
我建议使用调试器逐步检查程序,并检查哪个对象为null
NullReferenceException表示实例为空。通过访问空实例,您将获得NullReferenceException。确保控件不为空。只要在悬停在它上面的行上设置一个断点,你就会看到哪里出了问题。
-
keepValues
集合不包含等于lastTaken
的键,或者 -
keepValues[lastTaken]
存在,但其值为null
string[] keepValues=new string[5];
int lastTaken=6;
string temp=keepValues[lastTaken].ToString();
这将创建异常
An unhandled exception of type 'System.NullReferenceException' occurred in WindowsFormsApplication10.exe Additional information: Object reference not set to an instance of an object.