프로젝트에 3 개의 양식이있을 때 양식을 호출하는 방법 C#의 양식간에 데이터 전송이 있습니까?

StackOverflow https://stackoverflow.com/questions/1012631

  •  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 (..)에 전달 된 양식 인스턴스는 시작 양식을 결정합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top