设置PrintPreviewDialog控件的初始状态

本文关键字:初始状态 控件 PrintPreviewDialog 设置 | 更新日期: 2023-09-27 18:28:50

我正在使用PrintPreviewDialog,希望从默认设置调整其初始显示。到目前为止,我已经这样做了:

            PrintPreviewDialog dlg = new PrintPreviewDialog();
            dlg.WindowState = FormWindowState.Maximized;
            dlg.PrintPreviewControl.Zoom = 1.0;

这给了我想要的演示,但当对话框打开时,缩放控件选择了"自动"选项,而不是100%,因为缩放值为1.0。如何使用缩放控件将100%显示为当前选择的缩放设置,以免混淆用户?

顺便说一句,这是VS 2010.NET 4

设置PrintPreviewDialog控件的初始状态

也许设置AutoZoom = false会有所帮助:

dlg.PrintPreviewControl.AutoZoom = false;

PrintPreviewControl应该反映AutoZoomZoom的值,但它没有。它的设计很奇怪。然而,在搜索该控件后,我发现我们可以访问PrintPreviewDialogToolStrip。默认情况下,此对话框有2个子控件。第一个是通过属性PrintPreviewControl暴露的PrintPreviewControl,第二个是ToolStrip。通过循环使用Items,您可以找到确切的ToolStripSplitButton(缩放按钮),通过循环使用该拆分按钮的DropDownItems,我们可以找到准确的100% toolstripdropdown项并调用PerformClick进行检查。然而,默认情况下,我认为我们事先知道该项的索引,下面的代码会起作用:

ToolStripSplitButton zoomButton = ((ToolStrip)dlg.Controls[1]).Items[1] as ToolStripSplitButton;
zoomButton.DropDownItems[4].PerformClick();//Check the 100% item in the zoom list
dlg.PrintPreviewControl.Zoom=100/100f;
dlg.PrintPreviewControl.Zoom=2; // 200% Zoom