2011-06-21 52 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块。一旦我调试了我的代码的正确版本,打印对话框的行为如预期。

对不起打扰...