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

时间:2016-11-06 06:28:39

标签: c# winforms printing printdialog

如果我这样创建一个简单的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");
}

我得到以下结果,其中Page Range - > Pages的默认值为“0”(带圆圈):

PrintDialog with Page Range 0

对我而言看起来不专业。我看过的每个其他程序都有该值,直到用户填写为止。我有什么办法可以将默认节目设为空白吗?

即使我试图通过尝试手动将值设置为对我的用户更有意义的东西而不是 Pages:0 来解决这个问题,例如:

print_dialog.PrinterSettings.FromPage = 1;

我得到一个例外: Value FromPage超出范围。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

您应指定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指定的范围内。