アプリケーションのチャートに画像として保存する機能があります。チャート コントロールは、カスタム ロジックを含むカスタム ユーザー コントロールです。また、サイズ、ズームなどに基づくスケーリングもあります。ただし、画像として保存するときに、ユーザーに画像のサイズを設定するオプションを提供したいと思います (例: 800x600 px @ 300 DPI)。
これを行うために、画像のさまざまな設定用にテキストボックス/チェックボックスなどを含むフォームを作成しました。これらの TextBox の 1 つはファイル名用です。ファイル名のテキストボックスは読み取り専用で、クリックすると SaveFileDialog を表示する参照ボタンが付いています。
ユーザーは、メイン フォームのメニューで [画像として保存] をクリックします。以下のコードを使用して ImageExportDialog を表示します。
using(ImageExportDialog dlg = new ImageExportDialog())
{
if(dlg.ShowDialog() == DialogResult.OK)
{
//get the settings selected by the user and generate the image
}
}
ImageExportDialog で、ユーザーが参照ボタンをクリックすると、SaveFileDialog が次のように表示されます。
using(SaveFileDialog dlg = new SaveFileDialog())
{
if(dlg.ShowDialog() == DialogResult.OK)
{
txtFileName.Text = dlg.FileName;
}
}
ここでの問題は、ユーザーが SaveFileDialog の [保存] ボタンをクリックすると、予想どおり txtFileName.Text が設定されますが、親カスタム ダイアログも ShowDialog メソッドから返されるようで、DialogResult は次のものと同じです。 SaveFileDialog! 次に、コントロールは、上記のコードの「ユーザーが選択した設定を取得し、画像を生成する」部分に進みます。
ここで何が間違っているのかよくわかりません!