0

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);
4

2 回答 2

3

为了在 Winform 上显示水晶报表,您可以从窗体上的工具箱中添加水晶查看器,并针对它设置水晶报表。

请参阅:使用 WinForms 和 C# 显示 Crystal Reports

但如果您想在 Winform 中托管 WPF 控件,则可以使用ElementHost

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

于 2012-11-28T09:06:36.767 回答
0

您不需要 Winforms 中的 Windows 窗体主机 - 这只是为了在 WPF 中向后兼容,只需添加对水晶报告的引用并将控件放在您的窗体上

于 2012-11-28T09:04:39.243 回答