처음에는 내 프로그램 (form1)에 빈 공용 문자열 배열을 선언하고 단추를 클릭하면 DataGridview 셀의 문자열을 배열에 넣습니다! 하지만 그 배열의 길이를 다른 폼 클래스 (form2)로 가져 오는 데 어려움이 있습니다.한 폼 클래스에서 다른 폼 클래스로 배열 길이 얻기 C#
public partial class Form1 : Form
{
public string[] strarray;
public string order;
public Form1()
{
InitializeComponent();
}
public void button2_Click(object sender, EventArgs e)
{
var new1=dataGridView2.Rows[0].Cells[2].Value;
ordernew = new1.ToString();
strarray = ordernew.Split(',');
Form2 f2 = new Form2();
f2.Show();
}
}
split 함수를 사용하여 배열에 문자열 값을 할당하는 것은 성공했습니다! form2 코드에서 다음과 같습니다!
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
Form1 f1 = new Form1();
for (int m = 0; m < f1.strarray.Length; m++)
{
label.Text="Hello";
}
}
}
하지만 내가 Form2를 루프의에서 "개체 참조가 개체의 인스턴스로 설정되지 않습니다"오류를 얻을 프로그램을 실행할 때! 이 문제를 어떻게 해결할 수 있습니까?
에서 그것을 호출 할 때
그런 다음 당신은 Form2_Load에서 Form1의 새 인스턴스를 만들 수 있습니다. 이 인스턴스는 Form2를 여는 인스턴스와 다릅니다. 그래서이 예외가 발생합니다. Form1의 현재 인스턴스 또는 배열 자체를 Form2로 보내야합니다. –