C# 데스크톱 응용 프로그램에 2 개의 폼이 있습니다. Form1과 Form2. Form2의 값이 Form2에서 업데이트되지 않습니다.
public void AddToList(string item)
{
listBox.Items.Add(item);
}
내가 어떤 버튼을 누를에 직접이 메서드를 호출
다음 잘 작동 :Form1에 다음과 같이 ListBox 컨트롤에 항목을 추가 공용 메서드가 포함되어 있습니다. 그러나 Form2에서이 메서드를 호출하면 Form1의 ListBox 컨트롤에 아무 것도 추가하지 않습니다. Form2의 코드는 다음과 같습니다.
Form1 frm = new Form1();
frm.AddToList("something");
실행하면 아무 일도 일어나지 않습니다. 오류가 없습니다. ListBox에 항목을 추가하지 않습니다.
내가 뭘 잘못하고 있니?
GUI의 기존 인스턴스를 참조하는 대신 Form1의 새 인스턴스를 만드는 것처럼 들립니다. Form1과 Form2를 표시/사용하는 GUI 레이어 코드를 더 게시 할 수 있습니까? –
프로젝트에 두 개의 * 유형 *이 있습니다. 그러나 각 유형의 객체 *를 두 개 이상 만듭니다. 실수를 보려면 frm.Show()를 추가하십시오. –
두 가지 양식을 어떻게 작성합니까? 둘 다 MDI와 같은 세 번째 형식으로 만들지, 아니면 Form1을 Form2로 만드는 것입니까? 이렇게하면 두 형식을 서로 이야기하는 방법에 대한 답을 얻을 수 있습니다. –