대단한 팁은 아니지만 내가 억울하게 끙끙거려서 여기다가 메모를 남긴다.
//Form1
Form1 dlg = Form2(apple, bear, cat);
...
//Form2
public Form2(byte[,] Apple, byte[,] bear, byte[,] cat)
{ ...}
위와 같이 form간의 이동을 할때 "생성자"를 이용해서 자료를 받을 때가 있는데
(꼭 생성자로 받을 필요는 없다.)
위와 같이 쓰게 되면 바로
"개체 참조가 개체의 인스턴스로 설정되지 않았습니다." 라는 에러가 등장한다.
해결법은 Form2에서 Component를 초기화 시켜주면 된다.
//Form1
public void send()
{
Form1 dlg = Form2(apple, bear, cat);
...
}
//Form2
public Form2(byte[,] Apple, byte[,] bear, byte[,] cat)
{
InitializeComponent();
...
}
InitializeComponent();를 생성자의 맨앞에 붙여주면 해결되었다.
잊고 있었던 생성자의 초기화가 이렇게 발목을 잡을 줄 몰랐다.
'C계열 > C#' 카테고리의 다른 글
[c#] Two's compliment(2의 보수) (0) | 2021.09.20 |
---|---|
TimeSpan을 이용하여 남은 시간 표시하기 (0) | 2020.06.21 |
bool에 대하여 (0) | 2020.02.01 |
[C#] 히스토그램으로 동일 이미지 판별하기 (0) | 2020.01.24 |
좋은 개발자는 코드를 공개한다고 한다. (0) | 2020.01.04 |