System.Windows.Forms.PrintPreviewDialog
印刷プレビュー ダイアログを表示するために使用する WinForms アプリケーションに取り組んでいます。ユーザーがそのダイアログで ESC を押すと、ダイアログを閉じたいと思います。残念ながら、これを行う方法がわかりません。KeyDown/PreviewKeyDown イベント ハンドラをインストールしようとしましたが、呼び出されません。また、ダイアログ (およびその PrintPreviewControl) にフォーカスを設定しようとしましたが、それが問題だと考えましたが、それも役に立ちませんでした。これを機能させる方法を知っている人はいますか?
質問する
1356 次
2 に答える
5
ユーザーがESCを押したときにフォームを閉じるように、メソッドをカスタマイズPrintPreviewDialog
してオーバーライドしました。ProcessCmdKey
これは最もクリーンなソリューションのようです。
私が書いたコードは次のとおりです。
using System.Windows.Forms;
namespace MyProject.UI.Dialogs
{
class CustomPrintPreviewDialog : PrintPreviewDialog
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
// Close the dialog when the user presses ESC
if (keyData == Keys.Escape)
{
this.Close();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
}
于 2010-02-05T14:41:48.557 に答える
0
私はこれを試したことはありませんが、Esc を押したときにSystem.Windows.Forms
呼び出されませんか? CancelButton
フォームを呼び出すダミーの [キャンセル] ボタンを作成してみてください.Close
。
于 2010-02-03T18:40:50.777 に答える