当我将PictureBox添加到我的表单时:
public partial class frmMain : Form
{
PictureBox _pb;
public formMain(){
_pb = new PictureBox();
formMain.Controls.Add(_pb);
}
//SOME METHOD
private void SomeMethod(){
_pb.Invalidate(); //NULL POINTER EXCEPTION
}
}
这里发生了什么?是否需要向表单添加控件?
更多信息:
如果我将一个图片框拖到Visual Studio C#中的“表单设计器”中,并将其命名为_pb 以上工作。是否还有以编程方式添加控件的其他步骤?不仅仅是调用Form.Controls.Add(/ 某些控件 /)???
答案 0 :(得分:1)
真的只是一种预感,需要看到完整的课程,而不仅仅是片断。但有一个好奇心是你有:
formMain.Controls.Add
在formMain的构造函数中,其中是变量formMain定义(假设编译)。你不是说:
this.Controls.Add(_pb)
不确定是否存在这个问题,我怀疑问题也可能是_pb在调用invalidate时没有定义。你有没有使用的其他构造函数没有初始化_pb?