2011-06-21 91 views
0

我正在使用Visual Studio 2010 Office工具「遠程控制」Word 2010.這很好,我也可以打印我創建的文檔。但是,當我顯示Word的打印對話框時,即使按下取消按鈕,文檔也會打印。爲什麼是這樣,我如何才能正確反應被按下的取消按鈕?即使我取消對話框,爲什麼Word 2010會打印?

我的代碼如下:

public void Print(string printerName, bool showPrintDialog) 
{ 
    if (m_wordApp == null || m_wordDoc == null) 
     throw new InvalidOperationException("..."); 

    object missing = System.Type.Missing; 
    object varTrue = true; 

    if (printerName != null) 
     m_wordApp.ActivePrinter = printerName; 

    if (showPrintDialog) 
    { 
     Word.Dialog varDlg = m_wordApp.Application.Dialogs[Word.WdWordDialog.wdDialogFilePrint]; 
     varDlg.Show(ref missing); 
    } 
    else 
    { 
     m_wordDoc.PrintOut(ref varTrue, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, 
       ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, 
       ref missing, ref missing, ref missing); 
    } 
} 

回答

0

對不起,我使用的舊版本的代碼的調試應用程序,其中,所述線

m_wordDoc.PrintOut(ref ...); 

未包裹在一個else塊。一旦我調試了我的代碼的正確版本,打印對話框的行爲如預期。

對不起打擾...

相關問題