2013-08-24 89 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

相關問題