更改标签文本错误 C#

发布于 2024-12-21 22:34:20 字数 439 浏览 2 评论 0原文

我的程序因此警告而停止工作

WindowsFormsApplication10.exe 中发生“System.NullReferenceException”类型的未处理异常

附加信息:对象引用未设置为实例 对象。

这是它停止的代码:

string stripStatusL = "some text: " + keepValues[lastTaken].ToString();
                toolStripStatusLabel1.Text = stripStatusL;

它只是一个带有标签的 StatusStrip。我正在尝试更改该标签的文本。通常它适用于没有 StatusStrip 的标签。我的错误是什么?

视觉工作室2010 C#

My program stops working with this warning

An unhandled exception of type 'System.NullReferenceException' occurred in WindowsFormsApplication10.exe

Additional information: Object reference not set to an instance of an
object.

Here is the code where it stops:

string stripStatusL = "some text: " + keepValues[lastTaken].ToString();
                toolStripStatusLabel1.Text = stripStatusL;

It's just a StatusStrip with Label in. I'm trying to change the text of that Label. Usually it works for Label without StatusStrip. What is my mistake?

Visual Studio 2010
C#

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

予囚 2024-12-28 22:34:20

我最好的猜测是 keepValuesnulllastTaken 索引/键(您的代码没有说明它是列表还是字典)集合中不存在。通常的原因是表单设计者可能无法在初始化时传入外部数据。表单有一个 DesignMode 属性,如果表单在设计器中运行,则该属性为 true,您可以根据需要使用该属性提供一些模拟数据。

My best guess would be that keepValues is null or that lastTaken index/key (your code doesn't say whether it's a list or dictionary) does not exist in the collection. The usual reason for that is that the forms designer might not be able to pass in external data on initialization. Forms have a DesignMode property which is true if the form is run in the designer which you can use to provide some mock data if required.

软糯酥胸 2024-12-28 22:34:20

我猜 keepValues[lastTaken] 为空。

所以 keepValues[lastTaken].ToString(); 会给你一个 NullReferenceException。

我建议使用调试器单步执行程序,并检查哪个对象为空

I'd guess keepValues[lastTaken] is null.

so keepValues[lastTaken].ToString(); will give you a NullReferenceException.

I'd suggest stepping through the program with the debugger, and check which object is null

忘你却要生生世世 2024-12-28 22:34:20

NullReferenceException 表示该实例为空。通过访问 null 实例,您将得到 NullReferenceException。确保该控件不为空。只需在将鼠标悬停在该行上设置一个断点,您就会看到出了什么问题。

NullReferenceException means that the instance is null. By accessing a null-instance, you get the NullReferenceException. Make sure that the control is not null. Just set a breakpoint at the line on hover over it and you'll see whats wrong.

岛歌少女 2024-12-28 22:34:20
  1. keepValues 集合不包含等于 lastTaken 的键,或者
  2. keepValues[lastTaken] 存在但其值为 null
  1. the keepValues collection does not contain a key equal to lastTaken, or
  2. keepValues[lastTaken] exists but its value is null
不打扰别人 2024-12-28 22:34:20
string[] keepValues=new string[5];
int lastTaken=6;

string temp=keepValues[lastTaken].ToString();

这将创建异常

WindowsFormsApplication10.exe 中发生“System.NullReferenceException”类型的未处理异常
附加信息:未将对象引用设置为对象的实例。

因此,请记住用于从数组访问值的数组和索引的长度。

string[] keepValues=new string[5];
int lastTaken=6;

string temp=keepValues[lastTaken].ToString();

This will create the exception

An unhandled exception of type 'System.NullReferenceException' occurred in WindowsFormsApplication10.exe
Additional information: Object reference not set to an instance of an object.

So keep in mind the length of array and index you are using to access value from array.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文