/ / Save Dialog über einem anderen benutzerdefinierten Dialogfeld verhält sich seltsam! - c #, winforms, savefiledialog, showdialog

Save Dialog über einem anderen benutzerdefinierten Dialogfeld verhält sich seltsam! - c #, winforms, savefiledialog, showdialog

Ich habe ein Speichern als Bildfunktion für Diagramme in meinemAnwendung. Das Diagrammsteuerelement ist ein benutzerdefiniertes Benutzersteuerelement mit benutzerdefinierter Logik. Es hat auch eine Skalierung basierend auf Größe, Zoom usw. Während ich sie jedoch als Bild speichern möchte, möchte ich dem Benutzer die Möglichkeit geben, die Größe des Bildes einzustellen (zB: 800x600 px @ 300 DPI).

Dazu habe ich ein Formular mit erstelltTextfelder / Checkboxen usw. für verschiedene Einstellungen für das Bild. Eine dieser TextBoxen ist für den Dateinamen. Das Textfeld für den Dateinamen wird nur gelesen und wird von einer Schaltfläche zum Durchsuchen begleitet, auf der ein SaveFileDialog angezeigt wird, wenn darauf geklickt wird.

Der Benutzer klickt im Hauptformular auf "Save As Image". Ich zeige den ImageExportDialog mit dem folgenden Code:

using(ImageExportDialog dlg = new ImageExportDialog())
{
if(dlg.ShowDialog() == DialogResult.OK)
{
//get the settings selected by the user and generate the image
}
}

Im ImageExportDialog klickt der Benutzer auf den Durchsuchen-Button und der SaveFileDialog wird wie folgt angezeigt:

using(SaveFileDialog dlg = new SaveFileDialog())
{
if(dlg.ShowDialog() == DialogResult.OK)
{
txtFileName.Text = dlg.FileName;
}
}

Jetzt ist das Problem, wenn der Benutzer anklickt"Save" -Schaltfläche im SaveFileDialog, wie erwartet ist der txtFileName.Text gesetzt, aber das übergeordnete benutzerdefinierte Dialogfeld scheint auch von der ShowDialog-Methode zurückzukehren und das DialogResult ist dasselbe wie das für SaveFileDialog! Die Kontrolle geht dann weiter zum "Holen Sie sich die vom Benutzer ausgewählten Einstellungen und generieren Sie das Bild"Teil des obigen Codes.

Bin mir nicht wirklich sicher, was ich hier falsch mache!

Antworten:

0 für die Antwort № 1

Arghhh !!!

Habe das Problem selbst herausgefunden. Ich habe die OK-Schaltfläche des ImageExportDialogs kopiert, um die Schaltfläche Durchsuchen für den SaveFileDialog zu erstellen.

Rate mal was, die Browse-Schaltfläche hatte ihre DialogResult-Eigenschaft auf "OK" gesetzt! Das Ändern auf "None" löste das Problem.