프로젝트에 3 개의 양식이있을 때 양식을 호출하는 방법 C#의 양식간에 데이터 전송이 있습니까?
-
06-07-2019 - |
문제
프로젝트 Form1, Form2, Form3에는 3 가지 양식이 있으며 이제 부드럽게 실행 중입니다. 프로젝트 Form4에 하나 더 추가되었습니다. 처음 세 가지 형태는 이미 showdialog ()를 통해 연결되어 있습니다.
나는 program.cs 파일을 터치하고 싶지 않다.
Form 4를 먼저 시작 업 양식으로 호출하려면 어떻게해야합니까? 이전 양식 1은 내 프로젝트에 첫 번째 형식이었습니다.
또한 Form1 RDB1 및 RDB2에 2 개의 라디오 버튼이 있습니다. 내 form2에는 버튼 선택에 OpenFiledialog가 부착되어 있습니다. 이제 사용자가 form1에서 rdb1을 선택할 때 Form2에서 OpenFiledialog의 필터는 확장자로 ".xml"만으로 파일을 열고 form1에서 rdb2를 선택할 때 form2 만 ".txt"파일을 열 수 있습니다.
그래요 구문을 찾을 수 없습니다 Intellisense에서 이것을 위해 도와주세요.
미리 감사합니다 ..
해결책
왜 당신이 당신의 program.cs 파일을 터치하지 않는지 설명 할 수 있습니까? 이것은 정확히 시작 양식을 변경하는 곳입니다.
변경 :
Application.Run(new Form1());
에게:
Application.Run(new Form4());
둘째, 필터 속성을 사용하여 Open- 및 SaveFiledialog에서 필터를 설정할 수 있습니다. 다음과 같은 값으로 설정하십시오.
XML Files|*.xml
또는 텍스트 :
Text Files|*.txt
추가하기 위해 편집 :
다른 형태에서 이것을하려면 :
class Form1 {
Form2 form2;
void Form1_Load(object sender, EventArgs e) {
form2 = new Form2();
}
void rdb1_CheckedChanged(object sender, EventArgs e) {
if (rdb1.Checked)
form2.openFileDialog1.Filter = "XML Files|*.xml";
else
form2.openFileDialog1.Filter = "Text Files|*.txt";
}
}
Form2 디자이너의 OpenFileDialOG1의 수정 자 속성을 "공개"또는 "내부"로 설정하여 클래스 외부에서 액세스 할 수 있도록하십시오.
다른 팁
당신은 program.cs를 터치해야합니다. 그것이 초기 양식이 만들어지고 실행되는 곳입니다.
새로운 winforms 프로젝트 및 Open Program.cs를 만듭니다. 신장 양식의 인스턴스와 함께 Application.Run이 호출되는 위치를 확인할 수 있습니다. 그것이 당신이해야 할 일입니다.
무서워하지 마십시오. 모든 것이 잘 될 것이라.
의견에 대한 응답으로 :
Form1_load 이벤트는 Form1 내에서 발사됩니다 ~에 의해 form1. 통화 체인을 되돌아 가서 Form1이 인스턴스화되어 Application.Run으로 전달되는 위치를 찾아야합니다. 그리고 그것은 program.cs에 있습니다.
해. 그런 다음 C#을 통해 CLR 사본을 받으십시오. 당신은 그것을 후회하지 않을 것입니다 (첫 커플 챕터를 건너 뛰는 한!)
Form 4를 먼저 시작 업 양식으로 호출하려면 어떻게해야합니까?
나는 program.cs 파일을 터치하고 싶지 않다.
Program.cs를 터치하고 싶지 그래? Application.run (..)에 전달 된 양식 인스턴스는 시작 양식을 결정합니다.