如果我这样创建一个简单的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”(带圆圈):
对我而言看起来不专业。我看过的每个其他程序都有该值,直到用户填写为止。我有什么办法可以将默认节目设为空白吗?
即使我试图通过尝试手动将值设置为对我的用户更有意义的东西而不是 Pages:0 来解决这个问题,例如:
print_dialog.PrinterSettings.FromPage = 1;
我得到一个例外: Value FromPage超出范围。
我该怎么办?
答案 0 :(得分:1)
您应指定FromPage
和ToPage
值:
//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
。
这两个值也应在MinimumPage
和MaximumPage
指定的范围内。