首页 > 解决方案 > Software.exe C# Visual Studio 2015 WINFORMS 中出现“System.NullReferenceException”类型的未处理异常

问题描述

我看过一个 youtube 教程:- https://www.youtube.com/watch?v=nLfzH4xOVqo&t=197s并尝试使用一些对他有效但对我无效的代码行。我一直在寻找错误,但没有找到有效的解决方案。以下是我的 C# 表单的代码。

左侧有一个面板,其中包含按钮,每个按钮都分配给特定的用户控件设计布局。您可以观看视频并了解我真正想要什么。我想要的只是当用户单击任何按钮时,某个用户控件表单将打开而不关闭当前,即单击其分配的按钮后它将发送到当前用户控件的前面。

错误图像:- https://drive.google.com/open?id=17ERTUexQ79noWiwZyPGD9u8_7MNj-Cdo

错误消息:- Software.exe 中出现“System.NullReferenceException”类型的未处理异常

标签: c#visual-studiounhandled-exception

解决方案


在 InitializeComponent() 方法调用之前,您不能在表单上放置任何访问这些内容的代码,因为 InitializeComponent 是创建所有控件并设置它们的方法。在创建之前尝试访问它们将导致空引用异常

初始化组件();应该是构造函数中的第一行。移动代码,这样就可以了

我也不确定为什么要在代码中设置面板和按钮的高度;只需在可视化设计器中单击它们并在属性网格中设置它们的 Height 属性。它要么是它自己的单元格中的一个属性,要么你会发现它是 Size 属性的子属性


推荐阅读