2013-05-15 3 views
0

첫 번째로 나는 C# 언어에 익숙하지 않다는 것을 언급해야한다. 그래서 각 속성이 의미하거나하는 것이 무엇인지 잘 모른다.왜 내 개체 값이 null입니까?

나는 수학 공식을위한 테스트 응용 프로그램을 구축 중입니다. 다양한 문제가 발생했지만 현재 하나는 레이블의 텍스트 속성을 수정하려고 할 때 응용 프로그램에서 "개체 참조가 개체 인스턴스로 설정되지 않았습니다"라는 예외를 throw합니다. 실제로는 수동으로 선언하지 않은 것입니다. 레이블,하지만 그것을 양식에 끌고,하지만 난 항상 그 일을하고 문제가 발생하지 않았습니다. null로 설정되는 모든 오브젝트 값의 원인은 무엇입니까? 프로그램과 함께 그림을 디버그 모드로 첨부했습니다.

다른 유사한 응용 프로그램에서 개체의 값이 null이 아닌 것을 관찰했습니다.

다음은 디버그 모드에서 내 응용 프로그램을 사용하는 인쇄 화면이고 다른 이미지는 다른 응용 프로그램에서 가져온 것입니다. 충분한 평판이 없기 때문에 이미지를 직접 게시 할 수 없습니다.

인터넷을 통해 답변을 검색하고 읽었지만 도움이되는 내용을 찾지 못했습니다. 할 수 있으면 내 개체에서 참조로 null 값을 변경하고 싶습니다. thay가 가능한가?

나는 충분히 명확했으면 좋겠다. 그렇지 않다면 나는 내 질문을 편집 할 것이다. 감사합니다.

http://i.imgur.com/o9EJjRX.png?1

http://i.imgur.com/EzvXyMN.png?1

나는 그것을 관찰하지 않았다 믿을 수 없어! 고맙습니다. 이제 작동합니다! 내 신청서에 대해 더 이상 질문이있는 경우 다른 게시물을 만들어야합니까? 아니면 여기에 질문 할 수 있습니까?

+1

'label1'이 (가) 'null'이 아닙니다. 그것은 여러분이'null '로 설정 한 것입니다. 'Convert.ToString (Class1.c1) +'부분은'null'을 가지고 있습니다. 당신은 그것을 조사해야합니다. – MyCodeSucks

+0

null 인 "something"은 무엇입니까? Class1.c1 변수와 다른 모든 변수는 int 유형이며 null이 아닙니다. 좀 더 구체적으로 할 수 있다면 고마워. –

+0

오류가 해당 행을 은폐하고 있기 때문에 더 구체적으로 말할 수 없습니다. 그 등호의 오른쪽에있는 것은 'null'입니다. – MyCodeSucks

답변

1

InitializeComponent가 호출되면 인스턴스가 생성됩니다.

생성자의 코드가 실행되기 전에 생성자의 코드가 실행됩니다.

아마도 InitializeComponent 만 사용하여 생성자를 남겨두고 Load 이벤트 핸들러에서 초기화를 수행해야합니다.

0

폼의 개체는 생성자에서 호출되는 InitializeComponents() 메서드에서 만들어집니다. InitializeComponents() 호출 후 코드를 이동하십시오.

+0

고마워요, 저도 해 봤는데 (분명히) 지금은 효과가 있습니다. –