-
2020-11-30 15:43:14
前言
在wpf中使用winform控件或者winform的自定义控件
一、添加引用
WindowsFormsIntegration.dll
System.Windows.Forms.dll提示:这两个引用都是在程序集中可以直接找到的
二、在要使用WinForm控件的WPF窗体的XAML文件中添加如下内容:
代码如下(示例)
xmlns:wf="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms" xmlns:wfi ="clr-namespace:System.Windows.Forms.Integration;assembly=WindowsFormsIntegration"
三、在WPF中使用WinForm或自定义控件
xaml文件代码如下(示例)
<Grid Grid.Row="1"> <DockPanel Name="m_panel"> <WindowsFormsHost x:Name="host" Margin="0,0,0,0" /> </DockPanel> </Grid>
在代码中定义UserControl1 user= new UserControl1 (); 这里不要忘记添加引用。
UserControl1 是我的自定义控件
然后再将控件放入WindowsFormsHost 中,使用这句代码 : host.Child = user;
四、在WPF中使用WinForm控件
xaml文件代码如下(示例)
<Grid Grid.Row="1"> <wfi:WindowsFormsHost> <wf:Label x:Name="wfLabel" Text="winForm控件在此" /> </wfi:WindowsFormsHost> </Grid>
补充
在WPF中使用WinForm或自定义控件,如果出现设置了控件,也没有报错,但是控件就是不显示,多半是AllowTransparent = “True”这句话出来问题,只需要将True改成False就可以了,如果一定要使用AllowTransparent = “True”,请参考下面这个方法:https://www.jb51.net/article/57535.htm
更多相关内容 -
C# WinForm 控件拖动 (支持网格线对齐)
2021-08-11 09:51:01一个高级的 WinForm 控件拖动示例。他的不同之处在于拖动时可以使控件与网格线对齐,还可以设置是否显示控件内容。非常值得学习和借鉴!(本资源为原创,别的地方找不到的哦!) -
Winform控件
2018-01-10 18:52:22对数十个控件类进行了截图引导,希望在潜移默化中帮助读者开阔视野,提升能力,具体细节在实际运用再学习,textBox, button,toolbar,datagridview,treeview,label,radioButton,DataSet,ContextMenuStrip,... -
不错的winform控件封装库.zip
2020-04-30 14:29:13控件封装很到位,从窗体、弹出窗,控件;到工业用途的温度计,仪表盘,流水管导向都有模拟。能应用到很多地方 -
控件重绘之C# WinForm控件美化扩展系列之Button
2020-10-30 12:30:33控件重绘之C# WinForm控件美化扩展系列之Button -
Winform控件库-DevExpressComponents-14.zip
2019-08-24 14:26:15Winform控件库-DevExpressComponents-14; -
winform控件生成
2018-08-27 10:44:39制作控件样式,循环生成控件,只是提供了一个例子,例子不通用,但是毕竟逻辑是通的嘛 -
WinForm_GUI_WinformUI_winformgui_winform控件_winform
2021-09-11 09:40:27WinForm GUI+ 绘制皮肤,自定义控件 -
C# WinForm控件美化扩展系列之TabControl.rar
2020-10-31 15:03:41C# WinForm控件美化扩展系列之TabControl.rar -
winform控件
2016-08-23 19:50:48这是本人总结出来的wcf控件大全,常用的控件都在里面 -
C#Winform控件库NetWinformControl-master.zip
2021-08-24 11:45:09C#Winform控件库NetWinformControl-master.zip,内有源代码,demo,相关网站。 -
C#控件库_Winform控件
2015-07-01 12:16:12自定义的c#控件库 -
Winform控件随窗体缩放
2016-11-25 14:28:57Winform控件随窗体缩放 -
WINFORM控件动画无闪烁的例子DEMO.rar
2020-02-22 14:03:27C# WINFORM 控件动画无闪烁的例子DEMO配套源程序 https://basis.blog.csdn.net/article/details/104442629 因为上一个专题"程序服务器和客服端对象更新"的需要, 要在C# WINFORM 中有物体的移动,需要不闪烁的... -
C#Winform控件应用.zip
2020-03-10 19:59:04基于Csharp的WinForm控件开发技术,是几个常用控件的视力,这个资源还是非常不错的欢迎下载。 -
WinForm控件半透明遮罩dll
2019-10-07 10:06:40可在目标控件上显示或隐藏半透明遮罩层,支持透明度和颜色自定义,支持在遮罩层上显示自定义文本,文本颜色可调。已封装有x86/x64/AnyCpu三种dll,使用时引用相应的dll调用相关方法即可,方法参数说明已以截图形式放... -
Winform控件_开源控件TabControl选项卡
2015-07-10 09:12:36Winform开源控件:TabControl 选项卡控件 本人在codeproject上面整理出来的选项卡控件,个人感觉这几个都还不错. Tabbed MDI Child Forms http://www.codeproject.com/Articles/17640/Tabbed-MDI-Child-Forms Tab... -
Winform控件美化之TrackBar
2021-01-02 10:00:18Winform控件美化之TrackBar Winform控件美化之TrackBar Winform控件美化之TrackBar Winform控件美化之TrackBar -
dotnet-升讯威NetWinForm控件库提供了超过15种Winform控件
2019-08-14 17:15:26升讯威 .Net WinForm 控件库提供了超过15种 Winform 控件,你可以直接使用本控件库,更可以通过本控件库学到 Winform 控件开发的方法和理念。 -
winform控件拖动和改变大小的例子
2019-03-18 15:02:14winform控件拖动和改变大小的例子 参考https://www.cnblogs.com/whc-blog/archive/2011/08/26/2154038.html 原文基础上优化代码,添加边界控制 -
WinForm控件开发总结(完整版)
2013-12-18 08:41:46WinForm控件开发总结(完整版) 开发控件的好方法 -
C#的winform控件命名规范
2020-12-31 00:11:38本文详细讲述了C#的winform控件命名规范。分享给大家供大家参考。具体如下: 注:这里用红字标记的部分表示有重复出现,括号内为替代表示方案 1.标准控件 序号 控件类型简写 控件类型 1 btn Button ... -
开源Winform控件库:花木兰控件库
2021-11-27 00:01:47微信好友推荐,挺好看的Winfrom控件库,下面来看看。花木兰控件库Gitee截图介绍基于 C#(语言) 4.0 、 VS2019 、 Net Framework 4.0(不包括Ne...微信好友推荐,挺好看的Winfrom控件库,下面来看看。
花木兰控件库Gitee截图 介绍
基于 C#(语言) 4.0 、 VS2019 、 Net Framework 4.0(不包括Net Framework 4.0 Client Profile) 开发的Winform控件库。为了兼容性采用了C#(语言) 4.0版本,低版本VS也可以编译该项目。整个控件控除了动画函数由Silverlight提取出来和ColorEditorExt.cs颜色面板视图设计器扩展器在网上例子修改而来,其他都是自己在原生控件基础上写的,没有使用任何第三方库,所以放心使用,没有侵犯他人著作权的问题。
这套控件库原本在博客上都是单个控件发布的,这次在gitee整体的发布。由于原来控件都是独立开发,大量的控件使用到滑动的效果,导致定时器消耗过多,所以在整体发布前对大部分控件做了修改,不排除还有bug,所以这套控件库适合有基本基础控件开发的人使用。控件本身并不复杂,像window消息使用的比较小,主要都是重写Paint方法实现。还有就是所有的控件目前都是采用整体刷新方式绘制,你可以继续优化控件。这些控件都是我平常出于好奇心写的,没有在真正的项目上使用过,你要是使用在自己的项目中,最好先测试下控件有没有bug,为什么这么说呢,因为我在开发这些控件时就有遇到过控件有bug导致在操作视图设计器时VS奔溃自动关闭的现象。开发可化视图设计器的控件还是挺麻烦的,你必须要了解VS 视图设计器的流程原理。
关于授权
关于授权问题有以下 3种 方式:(以下都不提供BUG解决服务,我也没有刻意留下bug)
30元 (人民币)永久授权(适用以后所有版本),控件库可以集成在你的商业系统中使用,但控件库不能用于二次贩售和授权他人,对于二次开发看下面2的情况。
免费 永久授权(适用以后所有版本),你可以用于学习但禁止任何商用。但是如果你在这些控件的基础上进行二次开发,当你的控件库的功能都比我免费授权的源码功能强大一倍后还有代码相似度在一半以下,你可以独立发布贩售你的源码,但要在你的源码版权上加上一句描述“该控件库是以花木兰控件库为基础开发而来的”,如果你的二次开发导致你的控件库源码和我免费授权的源码有90%的非相似度就可以不用加刚才说的那句描述,因为我承认一个成功的借鉴就是原创。
免费 永久授权(适用以后所有版本),可以免费让控件库集成在你的商业系统中使用,但控件库不能用于二次贩售和授权他人。还有你的系统中要用到该控件库的文件都要加上我的版权描述,特别是木兰诗不能删掉,不要问为什么。
仓库介绍
从Gitee仓库花木兰控件库克隆下来后,下面是仓库总体目录结构:
花木兰控件库目录 作者解决方案用的中文,嗯,没毛病。
解决方案用[Microsoft Visual Studio Enterprise 2022 (64-bit) - Preview]打开,为啥用VS 2022预览版,不是正式版已经出来了吗?(...)
解决方案结构:
解决方案结构 我们不看源码,你有兴趣可以研究,选择
WinfromDemo
工程做为启动项目,F5运行,来介绍几个效果(注:作者在仓库readme里已经介绍,控件运行过程中会有异常,使用请自行负责解决哟):运行WinformDemo工程:
运行WinformDemo工程 先看有哪些控件,下面是控件目录:
控件目录 菜单
GDI不规则圆弧:
右击点击可以展开|关闭
不规则圆弧 看到旁边的按钮“独立打开”没,点一下试试:
不规则圆弧 可以对它进行移动,具体这个你怎么用发挥你的想象吧。
MAC鱼眼效果:
比较酷炫的MAC鱼眼效果菜单:
MAC鱼眼效果 面包屑导航栏:
面包屑导航栏 表单
Date日期选择美化:
Date日期选择美化 Color颜色选择美化:
Color颜色选择美化 多点滑块滑杆:
多点滑块滑杆 CheckBox复选框:
CheckBox复选框 按钮动画:
按钮动画 百分比进度:
百分比进度 水波纹进度:
水波纹进度 渐变进度:
这个用于实时数据监控还不错。
渐变进度 数字时间:
数字时间 温度计:
温度计 TabControl美化:
TabControl美化 验证码:
验证码 雷达扫描:
雷达扫描 加载等待:
加载等待 播放
图片旋转播放:
图片旋转播放 走马灯图片轮播:
走马灯图片轮播 文本跑马灯特效:
文本跑马灯特效 验证
图案滑屏解锁:
图案滑屏解锁 拼图滑块验证:
这个有意思,可以选择多个滑块,增加验证复杂。
拼图滑块验证 工具栏
这个比较常见,就不录制gif了...
组件
右下角弹窗提示:
右下角弹窗提示 其他组件需要您去看看喽。
分析
最后一个大类,已经录制快30个gif了...
仪表:
仪表 雷达分析图:
雷达分析图 Chart分析:
Chart分析 介绍完啦,gif录制酸爽了。
关于作者
Gitee仓库:花木兰控件库
博客:https://www.cnblogs.com/tlmbem/控件的介绍。
邮箱:1252578118@qq.com,有问题可以发到这个邮箱,我有空会回复你。
qq交流群:180744253
-
c# winform控件的拖放实例
2017-04-11 09:57:26能实现控件的拖动、缩放功能,适合初学者学习。 -
Winform控件 半圆仪表盘
2019-08-15 10:23:48自写的一个Winform控件 一个半圆仪表盘 可以应用在一些报表当中 应该还有BUG -
C# WINFORM 控件双向绑定少为人知的秘密
2013-04-28 02:41:09C# WINFORM 控件双向绑定少为人知的秘密 在做winform开发的时候常常会遇到控件绑定数据源来实现双向绑定更新的问题。 根据这么多年的经验现在整理一下供大家参考,有什么写错的地方请指教 -
微软自带winform图表控件样例大全开源免费
2020-10-07 15:16:43微软自带winform图表控件样例大全开源免费,饼状图,雷达图,折线图,柱状图,实时曲线图等等,附件为微软的工具库自带的Chart图表的简单应用 -
深入分析C#中WinForm控件之Dock顺序调整的详解
2020-12-31 09:10:19最近被.net winform中的控件布局搞困惑了,由于控件都是使用Dock方式的,操作起来也是比较方便,如果最大化,窗口大小调整等,都可以随着窗口大小的变化而变化。但问题是,.net winform的dock方式是根据先添加的控件...