C# 在我的代码中实现打印对话框

C# 在我的代码中实现打印对话框,c#,wpf,printdialog,C#,Wpf,Printdialog,我一直想自己解决这个问题,但我还没弄明白。我想在按下btn\u print按钮时打开一个打印对话框窗口。我已经调出了一行,我认为它不再需要了,因为它定义了打印页面的大小 有人能看看我的代码,告诉我我能做什么吗 private void btn_print_Click(object sender, RoutedEventArgs e) { try { PrintDocument pd = new PrintDocument();

我一直想自己解决这个问题,但我还没弄明白。我想在按下
btn\u print
按钮时打开一个打印对话框窗口。我已经调出了一行,我认为它不再需要了,因为它定义了打印页面的大小

有人能看看我的代码,告诉我我能做什么吗

private void btn_print_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            PrintDocument pd = new PrintDocument();
            //pd.DefaultPageSettings.PaperSize = new PaperSize("A4", 827, 1169);
            pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
            pd.Print();
        }
        catch (Exception ex)
        {
            MessageBox.Show("An error occurred while printing", ex.ToString());
        }
    }

    private void pd_PrintPage(object sender, PrintPageEventArgs e)
    {

    }

试着这样做:

PrintDocument pd = new PrintDocument();
//pd.DefaultPageSettings.PaperSize = new PaperSize("A4", 827, 1169);
pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);

System.Windows.Forms.PrintDialog p = new System.Windows.Forms.PrintDialog();
p.Document = pd;
if (p.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    pd.Print();

什么不起作用?它在@roryap下起作用,但这只是在默认打印机上打印,没有打开打印对话框。我想将该功能添加到此代码中。您是否尝试用谷歌搜索它?对于这个网站来说,这个问题有点太宽泛了。@roryap,是的,我有过,而且我尝试使用PrintDialog类时运气不佳。我想我会尝试更多,并尝试与代码来将工作!这不管用@J.H。命名空间System.Windows.Forms不存在,可能属于Windows窗体?我删除了代码中的名称空间,得到一个错误,即printdialog不包含文档的定义,“bool”不包含OK的定义。添加对System.Windows.Forms的引用,它就会工作。确实如此!我想当我尝试其他东西时,我错过了那个参考资料。非常感谢@J.H。!