当前位置:编程学习 > C#/ASP.NET >>

WPF 打印问题 PrintDialog类

只要一调用PrintDialog类的PrintXXX方法就报FatalExecutionEngineError,

错误内容是:检测到 FatalExecutionEngineError Message: 运行时遇到了错误。此错误的地址为 0x58e29ddd,在线程 0xfb4 上。错误代码为 0x80131623。此错误可能是 CLR 中的 bug,或者是用户代码的不安全部分或不可验证部分中的 bug。此 bug 的常见来源包括用户对 COM-interop 或 PInvoke 的封送处理错误,这些错误可能会损坏堆栈。

下面是最简单的调用,其他任何在网络上下的打印项目都报这个错误:

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            PrintDialog dialog = new PrintDialog();
            dialog.PageRangeSelection = PageRangeSelection.AllPages;
            if (dialog.ShowDialog() == true)
            {
                dialog.PrintVisual(this.canvas1, "canvas");
            }
        }

<Grid>
        <Canvas Name="canvas1">
               <TextBlock Canvas.Left="56" Canvas.Top="46" Text="打印测试"/>
        </Canvas>
        <Button Content="Button" Name="button1"Click="button1_Click" />
</Grid> --------------------编程问答-------------------- 有人碰到过吗?十万火急 --------------------编程问答-------------------- 我也見到過這樣的問題現在還沒搞定 --------------------编程问答-------------------- 顶,我也遇到了 --------------------编程问答-------------------- 情况经想像中的更严重,一调用PrintDialog的任何属性和方法均会出现此错误,不知如何解决。
楼主现在有没有解决方案? --------------------编程问答-------------------- 楼主,这个问题最后是怎么解决的,我现在也碰到这问题了!!相当的急!! --------------------编程问答-------------------- 1年半了,还没有解决 --------------------编程问答-------------------- 今天突然也遇到这个问题,how do it ? --------------------编程问答-------------------- http://social.microsoft.com/Forums/en-US/visualcshartzhchs/thread/34d59fcd-e000-457c-966d-26f7984a2e53  看看这个贴子也许有帮助

还有这个
http://blog.csdn.net/johnsuna/article/details/1816317

这个
http://blog.sina.com.cn/s/blog_624dc0120100ld6m.html --------------------编程问答-------------------- 最近做另外一个项目,没有报错……
            PrintDialog print = new PrintDialog();
           // print.PageRangeSelection = PageRangeSelection.AllPages;
            if (print.ShowDialog() == true)
            {
                try
                {
                    print.PrintVisual(textBlock1, "test"); 
                                                           
                }
                catch
                {
                    MessageBox.Show("打印组件调用错误,请检查系统驱动安装!");
                }
               
            }

System.Object 
  System.Windows.Controls.PrintDialog 
需要注意的是:不要将System.Windows.Controls.PrintDialog与System.Windows.Forms.PrintDialog混淆了,后者用于WinForm应用程序中。System.Windows.Controls.PrintDialog则用于Windows Presentation Foundation (WPF)应用程序中。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,