千家信息网

Winform和WPF下如何调用ComponentOne的控件

发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要为大家展示了"Winform和WPF下如何调用ComponentOne的控件",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Winform和WP
千家信息网最后更新 2025年11月11日Winform和WPF下如何调用ComponentOne的控件

这篇文章主要为大家展示了"Winform和WPF下如何调用ComponentOne的控件",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Winform和WPF下如何调用ComponentOne的控件"这篇文章吧。

Step 1

首先,我们还是把两个平台的基本通信通道搭建起来,很简单,网上有很多步骤,总结起来主要分三步:

  1. 添加两个引用:WindowsFormsIntegration.dll(负责整合WPF和Windows)、System.Windows.Forms.

  2. 在 XAML文件中添加两个引用(粗体部分):

  < /Window>

解释一下,这段代码真正起作用的是这个引用WindowsFormsIntegration.dll,而这个引用System.Windows.Forms 指的是Winform里面的微软的原生态控件,所以在用到ComponentOne时,可以不引用它。

我们先看一个示例:通过微软原生态控件在WPF中使用Winform,代码如下:

                                

WindowsFormsHost其实是Winform在WPF的容器,所以Winform的控件显示都要在这个容器里面。

Setp2

上面我们说了,我们以FlexReport为介质进行通信,那我们需要准备的几个小步骤:

  1. Winform下FlexReport的模板

  2. 相关引用

注意:这里面的引用是Winform的引用。同样,我们需要在xmal中引用:

xmlns:cc11="clr-namespace:C1.Win.FlexViewer;assembly=C1.Win.FlexViewer.4"

在布局中添加可供报表预览的控件

                                

Setp3

我们在后台加载报表

private C1FlexReport _report;    public Window1()    {        InitializeComponent();        _report = new C1FlexReport(); // load report definition from resources        Assembly asm = Assembly.GetExecutingAssembly();         using (Stream stream = asm.GetManifestResourceStream("WpfApp1.Resources.FlexCommonTasks.flxr"))            _report.Load(stream, "Chart2D");        // assign report to the preview pane        flexViewerPane.DocumentSource = null;        flexViewerPane.DocumentSource = _report;    }

注:切记,这里面的报表是Winform平台下的

到这一步,我们工作完成了一大半,还差最后一步点石成金的步骤。很多人以为在这就结束了,但是我们要考虑 ComponentOne License 授权的问题,如何把Winform 的授权在WPF下注册,其实很简单,因为 .NET 的license机制一样,我们只需用同样的方式去注册控件的license ,不过这里推荐手动注册,这很重要,因为一不小心,就会报lc.exe=-1的错误

这里我们都用到了

  • C1FlexViewerPane

  • C1FlexReport

所以我们在license文件中写如下注册信息

C1.Win.FlexReport.C1FlexReport, C1.Win.FlexReport.4 C1.Win.FlexViewer.C1FlexViewerPane, C1.Win.FlexViewer.4

至此,我们就大功告成了。

以上是"Winform和WPF下如何调用ComponentOne的控件"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

控件 两个 内容 报表 步骤 篇文章 代码 原生态 容器 平台 文件 面的 微软 学习 帮助 通信 重要 大功告成 点石成金 一不小心 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库第三版教案 手机移动宽带代理服务器 中级软件开发工资 青少年网络安全讲师 服务器默认网关怎么查看 数据库驻厂服务合同 网站的数据库用什么语言好 网络安全工作责任制机构设置 pc无法登陆艾尔登法环游戏服务器 物理服务器转换为虚拟机 镇江金瑞软件开发有限公司 山西处级单位网络安全 演播室多通道视频服务器是干啥呢 云数据库提供哪些缓存类型 软件开发产品怎么免税 麻江手机软件开发 中国网络安全上升 如何使用nosql数据库 数据库分离耗时 河津市软件开发 简单的网上书店数据库设计 金蝶数据库备份在哪里看 别人如何访问云服务器的网站 汕头旅游软件开发市场价 神农架专业的软件开发公司 电信软件开发工程师是干嘛的 基站软件开发 网络安全属不属于政策法规内容 中行网络安全准入助手 医院网络安全宣传图片
0