打印对话框:如何删除页面范围 -> 页面默认值“0”?

Print Dialog: How can I remove the Page Range -> Pages default of "0"?

如果我这样创建一个简单的 WinForms PrintDialog:

PrintDialog print_dialog = new PrintDialog();
print_dialog.UseEXDialog = true;

// Setup dialog defaults
print_dialog.AllowSomePages = true;    // Setting this shows a default value of "0"
print_dialog.AllowCurrentPage = true;
print_dialog.AllowSelection = false;

if (print_dialog.ShowDialog() == DialogResult.OK) {
    Debug.WriteLine("Printing");
}

我得到以下结果,其中页面范围 -> 页面的默认值为“0”(圆圈):

对我来说这看起来不专业。在用户填写之前,我看过的所有其他程序的该值都是空白的。有什么办法可以让默认显示为空白吗?

即使我试图通过尝试手动将值设置为对我的用户来说可能比 页数:0 更有意义的值来解决这个问题,例如:

print_dialog.PrinterSettings.FromPage = 1;

我得到一个异常:Value FromPage 超出范围。

我能做什么?

您应该同时指定 FromPageToPage 值:

//To show 1 in front of Pages:
print_dialog.AllowSomePages = true;  
//Default value for PrinterSettings.MinimumPage is 0
//Default value for PrinterSettings.MaximumPage is 9999
print_dialog.PrinterSettings.FromPage = 1;
print_dialog.PrinterSettings.ToPage = 1;

FromPage 值应小于或等于 ToPage

此外,两个值都应在 MinimumPageMaximumPage 指定的范围内。