2013-08-24 92 views
0

我正在使用PrintPreviewDialog并希望调整其默认初始显示。到目前为止,我已经做到了这一点:设置PrintPreviewDialog控件的初始状态

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

...这给我我想要的表现,但在打开的对话框时,变焦控制有选择的,不是100%会“自动”选择对应于1.0的缩放值。我怎样才能在变焦控制显示100%作为当前选择的缩放设置,以免混淆用户?

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

回答

3

也许设置AutoZoom = false将帮助:

dlg.PrintPreviewControl.AutoZoom = false; 

PrintPreviewControl应该反映AutoZoomZoom值,但事实并非如此。这在设计中是一件奇怪的事情。然而,在搜索这个控件后,我发现我们可以访问PrintPreviewDialogToolStrip。该对话框默认有2个子控件。第一个是PrintPreviewControl,它通过PrintPreviewControl属性公开,第二个是ToolStrip。通过循环浏览Items,您可以找到确切的ToolStripSplitButton(缩放按钮),并通过循环显示该分割按钮的DropDownItems,我们可以找到确切的100%工具条下拉菜单,并调用PerformClick来检查它。然而,默认情况下,我认为我们事先知道该项目的索引,并且下面的代码会起作用:

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

试过了,没有明显的效果。 – Zenilogix

+0

@rObjects您的代码与'.Zoom = 1.0'也应该被使用。还有选择'自动'吗? –

+0

当我添加自动缩放时,我离开Zoom = 1.0,= false不影响缩放控制初始设置 - 保留在“自动”选择中。 – Zenilogix

相关问题