2011-08-13 4 views
0

내가 이런 식으로 내 폼에있는 PictureBox를 추가 : 여기무효화은() 프로그램 제어 (C#)를 addedd에 NULL 포인터 예외가 발생

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 
    } 
} 

을 무슨 일이야? 폼에 컨트롤을 추가하는 것이 더 필요합니까?

상세 정보 :

나는 비주얼 스튜디오 C 번호에서 "폼 디자이너"에 PictureBox를하고 _pb 이름을 드래그합니다.
위의 작동합니다. 프로그래밍 방식으로 컨트롤을 추가하는 추가 단계가 있습니까? Form.Controls.Add를 호출하는 것 이상 (/ 일부 컨트롤 /) ???

답변

1

정말 대단한 일이지만, 단지 조각이 아닌 전체 수업을 볼 필요가 있습니다. 그러나 하나의 호기심은 가지고있다 :

(이 컴파일 가정) 정의 변수 formMain입니다 formMain에 대한 생성자에

을 formMain.Controls.Add. 당신은 의미하지 않는다 :

this.Controls.Add (_pb)

이 방법으로 문제가, 내가 문제가 또한 _pb 그것이라고 무효화하는 시간으로 정의되지 않은 될 수 있다고 의심되는 경우 확실하지 않음 . _pb를 초기화하지 않은 다른 생성자를 사용하고 있습니까?

+0

저는이 기능이 새로 도입되었지만 Visual Studio C#에서 새로운 C# 창 응용 프로그램을 만들었습니다. "formMain"이라는 형식으로 명명되었습니다. 나는 VS가 어디에서 양식을 정의하는지에 대해서는 잘 모르겠습니다. – alex

관련 문제