2016-11-14 36 views
0

C#WindowsフォームアプリケーションでSaveFileDialog.OverWritePromptのマイナーUX問題が発生しました。ファイルを上書きすることを選択すると、プロンプトが上に表示されますが、上に表示されません。しかし、プロンプトが作成されています。一番上に表示させるには、Altキーを押す必要があります。ここに私のコードです。あなたが私のエラーを再現できることを願っています。 MSDNからSaveFileDialog上にないプロンプトが表示されない

DialogResult Result = SFD.ShowDialog(this); 

private void ExportImage_Option_Click(object sender, EventArgs e) 
{ 
    if (this.Main_PictureBox.Image != null) 
    { 
     SaveFileDialog SFD = new SaveFileDialog(this); 
     SFD.Filter = "Image Files (*.bmp, *.jpg, *.png)|*.bmp;*.jpg;*.png"; 
     SFD.OverwritePrompt = true; 
     DialogResult Result = SFD.ShowDialog(this); 
     if (Result == DialogResult.OK) 
     { 
      this.Main_PictureBox.Image.Save(SFD.FileName); 
     } 
    } 
    else { 
     MessageBox.Show("Nothing to export."); 
    } 
} 
+0

'SFD.ShowDialog()'の代わりに 'SFD.ShowDialog(this)'を呼び出せますか? – Dmitry

+0

完了!残念ながら、この問題は依然として続きます。 – GarrettML

+0

残念ながら私はこのエラーを再現できません。プロンプトがすべてのウィンドウの上にポップアップ表示されます。 –

答えて

0

あなたはSFDの所有者を指定する必要が

ShowDialogメソッドのこのバージョンは、あなたが所有することになり、特定の フォームまたはコントロールを指定することができますダイアログボックスが表示されます。パラメータがないこのメソッドのバージョン を使用すると、表示されているダイアログボックス は、アプリケーションの現在アクティブな ウィンドウによって自動的に所有されます。

詳細:https://msdn.microsoft.com/en-us/library/9a55b9ds(v=vs.110).aspx

+0

あなたの入力はうまく取られ、私はそれを実装しました。しかし、元の問題は依然として続きます。この編集を反映するように元のクエリを更新します。 – GarrettML

0

これは誰もが問題を再現することはできませんから、自分のコンピュータに固有のようです。これはコードと関係なく、私のシステム設定に関係している可能性が高いです。

関連する問題