在C#winform中等效的WindowsFormsHost

时间:2012-11-28 09:02:07

标签: c# wpf winforms windowsformhost

C#winform中等效的WindowsFormsHost是什么? 我用C#winform编写程序。在我的用户控件(而不是表单)中,我把报告。当用户点击btnReporting时,会显示rptfile。 这是我在wpf中的代码。我不相信C#winform中的WindowsFormsHost?

 CrystalReportViewer rptViewer = new CrystalReportViewer();
            rptViewer.DisplayStatusBar = false;

            WindowsFormsHost host = new WindowsFormsHost();
            rptViewer.ReportSource = rep;
            host.Child = rptViewer;
            ReportRpt PageRpt = new ReportRpt();

            PageRpt.GrdReport.Children.Add(host);
            NavigationService navService = NavigationService.GetNavigationService(this);
            navService.Navigate(PageRpt);

2 个答案:

答案 0 :(得分:3)

要显示Winform上的水晶报告,您可以从表单上的工具箱中添加Crystal Viewer,并根据它设置水晶报告。

请参阅:Displaying Crystal Reports using WinForms and C#

但是如果你想在Winform中托管WPF控件,那么你可以使用ElementHost

  

可用于承载Windows的Windows窗体控件   Presentation Foundation(WPF)元素。

答案 1 :(得分:0)

你不需要winforms中的windows窗体主机 - 这只是为了在WPF中向后兼容 只需添加对水晶报表的引用并将控件放在表单上