これは非常に奇妙です。私はC#でShowDialogでこの問題を経験したことはありません。 64ビットOS用に開発されたコードがPrinter Dialogを表示しようとすると、それは決して実行されず、DialogResultは「None」となっています。私は各行を踏んでデバッグし、手がかりを見ない。私は名前空間をチェックし、私は適切な参照を設定することを確認しました:、ShowDialog()はDialogResultを取得しません
private void printToolStripMenuItem_Click(object sender, EventArgs e)
{
printDoc.DefaultPageSettings = pgSettings;
PrintDialog dlg = new PrintDialog();
dlg.Document = printDoc;
if (dlg.ShowDialog() == DialogResult.OK)
{
printDoc.Print();
}
}
32ビットマシンでほぼ同じバージョンでは正確に同じコード、問題ありません:
using System.IO;
using System.Windows.Forms;
は、ここでは、コードです。ダイアログが表示され、ユーザがプリンタを選択し、OKを押してタスクが完了する。
64ビットバージョンでは、ShowDialog()はPrintDialog()では機能しませんが、PrintPreviewDialog()では機能します。
アイデアをいただければ幸いです!
実際には、リンク先のページで正しいとマークされている回答は、64ビット用にコンパイルすると表示されます。 –
ありがとう、それは本当です、私は上の票に間違っていました。 @ user1252604あなたがこれに気付き、あなたのために働いていたことを教えてください。 – ericosg
リンクありがとうございます!私はdlg.UseEXDialog = trueを挿入しました。 dlg.ShowDialog()の前に動作しました!私は本当にあなたの助けに感謝します! - Bob T. –