Dot-Net
PrintDialog.ShowDialog(this) 在 Windows 7 上立即返回 DialogResult.Cancel
我正在開發的內部應用程序在 Windows 7(64 位)PC 上表現異常。
如果我創建一個 PrintDialog 的實例,並呼叫它的 ShowDialog() 方法,該方法會立即返回 DialogResult.Cancel 而不顯示列印機對話框表單。
Windows 7 PC 確實安裝了列印機(帶有工作的預設列印機)。
PrintDialog printDialog = new PrintDialog(); printDialog.PrinterSettings.Copies = 2; printDialog.AllowCurrentPage = false; printDialog.AllowPrintToFile = false; printDialog.AllowSelection = false; printDialog.AllowSomePages = false; DialogResult dialogResult = printDialog.ShowDialog(this); if (dialogResult == DialogResult.Cancel) return;任何線索為什麼會發生這種情況?
設置
printDialog.UseEXDialog為true解決此錯誤。在 .Net 3.5 中, MSDN在記錄時提到了這個潛在的問題
UseEXDialog:當此屬性設置為
true時,ShowHelp將ShowNetwork被忽略,因為這些屬性在 Windows 2000 和更高版本的 Windows 中已過時。此外,除非您將屬性PrintDialog設置為 ,否則該類可能無法在 AMD64 微處理器上執行。UseEXDialog``true(我的重點。)