Windows CE 5.0의 응용 프로그램에 Compact Framework 2.0을 사용하고 있습니다.C#에서 이미 열려있는 다른 폼을 제어하십시오.
다른 양식 간의 제어를 변경하는 데 문제가 있습니다.
이것을 보여주기 위해 간단한 예제를 만들었습니다.
두 개의 양식이 있다고 가정하면 첫 번째 양식에는 두 번째 양식을로드하기위한 버튼이 있습니다.
버튼을 클릭하고 두 번째 양식이로드되면 첫 번째 양식으로 돌아가려면 컨트롤이 필요하거나 두 번째 양식이로드되면 첫 번째 양식을 닫고 싶을 수도 있습니다. 여기
번째 하나가로드되면 제 형태 개폐 대한 예이다 :public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
this.Close();
Form2 secondForm = new Form2();
secondForm.Show();
}
}
그러나 불행하게도이 두 형태의 현재의 하나 (유치원 1)뿐만 아니라 닫는다.
그래서이 코드는 두 번째 형식 코드 안에 있어야한다고 생각하지만 첫 번째 형식을 액세스하는 방법을 모르겠습니다.
제안 사항?
일단 첫 번째 양식이 숨겨지고 두 번째 양식이로드됩니다. 두 번째 형식의 이벤트를 닫힌 이벤트에 연결하고 this.Show()를 호출하면 프로그램이 모두 닫힙니다. 버튼 클릭 이벤트에서 this.Show()를 호출하면 아무 일도 일어나지 않습니다. 이것은 this.Show()가 두 번째 형식을 나타내며 첫 번째 (또는 부모) 형식을 나타내지 않기 때문입니다. – rfc1484
@ rfc1484 : 죄송합니다. 분명하다고 생각했습니다. form2 내 이벤트를 자체 폐쇄 이벤트에 연결하지 마십시오. form2의 이벤트에 응답하여 첫 번째 양식에서 이벤트를 연결합니다. 그러면이 인스턴스는 form1에 해당합니다. – Ian