Wie eine Form nennen, wenn es drei Formen in einem Projekt und die Datenübertragung zwischen den Formen in C #?

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

  •  06-07-2019
  •  | 
  •  

Frage

Ich habe 3 Formen in meinem Projekt form1, form2, form3 und es wurde reibungslos läuft jetzt ich ein weiteres in meinem Projekt Form4 hinzugefügt haben. Die ersten drei Formen sind bereits durch Showdialog verknüpft ().

Ich will nicht Program.cs Datei berühren.

Wie ich Form nennen kann 4 zunächst als Form starten? Frühere Form 1 war die erste Form in meinem Projekt erscheinen.

Ich habe auch 2 Radio-Buttons in meinem form1 RDB1 und RDB2. In meinem form2 habe ich Openfile auf eine Schaltfläche Select angebracht. Jetzt möchte ich, wenn der Benutzer RDB1 in form1 wählt dann den Filter von Openfile in form2 sollten Dateien mit nur „.xml“ als Erweiterung öffnen und wenn RDB2 in Form1 ausgewählt wird dann in Form2 nur „.txt“ Dateien geöffnet werden kann.

Ich bin nicht in der Lage, die Syntax für diesen in Intellisense finden können Sie bitte helfen?

Vielen Dank im Voraus ..

War es hilfreich?

Lösung

Können Sie erklären, warum Sie wollen Ihre Program.cs nicht berühren Datei? Das ist genau das, wo Sie das Start-up-Formular ändern.

Ändern Sie das:

Application.Run(new Form1());

zu:

Application.Run(new Form4());

Zum anderen können Sie die Filter auf Open- und Savefiledialog legen Sie die Eigenschaft Filter verwenden. Legen Sie es auf einen Wert wie folgt aus:

XML Files|*.xml

oder für Text:

Text Files|*.txt

Edited hinzufügen:

Um dies zu tun, von einer anderen Form:

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";
  }
}

Stellen Sie sicher, dass Sie die Modifikatoren Eigenschaft des OpenFileDialog1 auf dem Form2 Designer eingestellt haben, dass „Public“ oder „Intern“ den Zugriff darauf zu ermöglichen, von außerhalb der Klasse selbst.

Andere Tipps

Sie haben Program.cs zu berühren. Das ist, wo die ursprüngliche Form erstellt und ausgeführt wird.

Erstellen

ein neues WinForms Projekt und offene Program.cs. Sie können sehen, wo Application.Run mit einer Instanz des Startformulars aufgerufen wird. Das ist, was Sie zu tun haben.

Haben Sie keine Angst. Alles wird in Ordnung sein.


Als Reaktion auf den Kommentar:

Das Ereignis Form1_Load wird innerhalb Form1 durch Form1 gebrannt. Sie müssen auf die Call-Kette zurück und finden, wo Form1 instanziiert und zu Application.Run weitergegeben. Und das ist in Program.cs.

Do it. Und dann gehen Sie eine Kopie von CLR Via C # erhalten. Sie werden es nicht (so lange, wie Sie die ersten paar Kapitel überspringen!) Bereuen

  

Wie kann ich Formular aufrufen 4 zunächst als Start-up Form?

     

Ich will nicht Program.cs Datei berühren.

Warum wollen Sie nicht Program.cs berühren? Die Form Instanz Application.Run geben (..) das Startformular.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top