文章目录

  • 一、区别
  • 二、对比
  • 三、总结

一、区别

  • WPF,即windows presentation foundation,windows呈现基础,属于.net framework3.0,是微软推出取代winform的产品,能做到分离界面设计人员与开发人员的工作,提供多媒体交互用户图形界面,三大核心程序集是presentationcore、presentationFramework、windowsBase。

  • WinForm是·Net开发平台中对Windows Form的一种称谓。Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。Windows窗体提供了一套丰富的控件,并且开发人员可以定义自己有特色的新的控件。WinForm控件是指以输入或操作数据的对象。比如:ComponentOne是.net平台下对数据和方法的封装。有自己的属性和方法。属性是控件数据的简单访问者。方法则是控件的一些简单而可见的功能。包含在 .NET Framework 中的 Windows窗体类旨在用于 GUI 开发。

  • WPF和winform最大的区别在于WPF底层使用的DirectX,winform底层使用的是GDI+,所以WPF的图形界面上更胜一筹。

  • GDI+(Graphics Device Interface)图形设备接口,它的主要任务是负责绘图程序之间的信息交换、处理,所有windows程序的图形输出。

  • DirectX(Direct Extension)多媒体编程接口,加强3D图形和声音效果,有很多API组成。按照性质分类可分为四大部分:显示部分,声音部分,输入部分和网络部分。

二、对比


三、总结

WPF和Winform属于两套界面渲染方式。一个是对传统windows界面元素的封装,通过gdi绘制。另一个是全新的dx渲染绘制的界面,也脱离了对传统windows控件的依赖,没有历史包袱,理论上可以展现更炫酷的界面。对初级开发人员来说,没太大区别,类似的基本设计器是他们设计界面的主要手段,一样给事件编写代码。对初级以上开发人员来说,wpf需要学习xaml,有全新的ui描述语言,特别是可以通过模板的嵌套实现复杂的元素,通过style实现类似css的功能,通过比winform完善的多的数据绑定机制实现业务逻辑可以专心对数据而不是界面进行开发。前途来说,两者必定还会长期共存。深入理解winform对理解windows一些内部机制有好处。好好学习wpf可以更方便过度到其他xaml相关技术,这是微软目前广泛使用的技术,比如接下来的windows通用应用。

注:以上部分内容来源于百度文库、博客园。

WPF和WinForm的区别相关推荐

  1. 【转】wpf和winform的区别

    WinForm是·Net开发平台中对Windows Form的一种称谓. WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于. ...

  2. Wpf使用Winform控件后Wpf元素被Winform控件遮盖问题的解决

    Wpf使用Winform控件后Wpf元素被Winform控件遮盖问题的解决 参考文章: (1)Wpf使用Winform控件后Wpf元素被Winform控件遮盖问题的解决 (2)https://www. ...

  3. 编写高质量代码改善C#程序的157个建议——建议87:区分WPF和WinForm的线程模型...

    建议87:区分WPF和WinForm的线程模型 WPF和WinForm窗体应用程序都有一个要求,那就是UI元素(如Button.TextBox等)必须由创建它的那个线程进行更新.WinForm在这方面 ...

  4. 编写高质量代码改善程序的157个建议:第87个建议之区分WPF和WinForm的线程模型...

    今天有时间了,继续<编写高质量代码改善程序的157个建议>的阅读,当我阅读到建议87的时候,里面的一些代码示例和文中所说的不一致了,是不是我现在用的是NetFramework 4.0的缘故 ...

  5. wpf和winform的那点区别

    一提起winform和wpf有啥不同,可能大部分人都会想到wpf拥有漂亮的界面.wpf中也可以使用winform,大部分情况下,都没有任何问题,极少的情况下,可能会出现问题. 我们就来看一下: voi ...

  6. .net Core 3 preview 3试用 WPF,winform桌面开发

    安装最新的 vs2019 preview 16.1 此版本中,还没有vb.net创建 winform,wpf项目的模板,就用C#试了一下wpf. 编译后生成如下文件 dll文件运行方式: 命令行: d ...

  7. 你知道WPF与WinForms的区别吗?

    介绍 WPF的缩写指微软的Windows Presentation Foundation,而WinForms是Windows Forms Applications的简单组合.这两个都是微软的Windo ...

  8. WPF 与 WinForm 调用系统右键菜单/资源管理器右键菜单/桌面右键菜单

    原本此类是 http://www.codeproject.com 上高手写的 ShellContextMenu 类 但是该类原本貌似是为 WinForm 设计的 ,  默认的命名空间和引用也是 Win ...

  9. 【C#】WPF和winform窗体贴边隐藏(类似QQ)

    [WPF]实现窗体贴边隐藏 1.新建WPF项目Test,主窗体MainWindow.xaml,在后台MainWindow.xaml.cs填写下面的代码.主窗体调用Hide类,实现隐藏功能. //有些引 ...

最新文章

  1. VTK:IO之ExportPolyDataScene
  2. .NET Core实用技巧(一)如何将EF Core生成的SQL语句显示在控制台中
  3. DBUtils学习笔记
  4. 小程序基础 - wafer2 - PHP - 后台和前台 - 利用对象数组来传递表单数组的正确方法 - 下载部分(服务器到微信)
  5. Codeforces205E Little Elephant and Furik and RubikLittle Elephant and Furik and Rubik
  6. linux,让网卡随着系统启动自动生效
  7. 深度学习自学(三十二):半监督焦点人物检测
  8. 题目66:矩阵中的路径
  9. SNMP 模拟器 vxsnmpsimulator 使用方法
  10. PCWorld:乔布斯病休遗留诸多问题
  11. windows server 2003 asp环境搭建
  12. 前台服务java.lang.SecurityException: Permission Denial: startForeground
  13. RL基础算法优缺点总结
  14. 普通显示器玩立体游戏|红蓝立体游戏|iZ3D设置办法
  15. [JZOJ 5778] 没有硝烟的战争
  16. 安卓手机管理器_安卓平台上功能最全面强大的文件管理器!
  17. 代码审计--25--RIPS详细
  18. 矿物岩石学知识点总结
  19. 飞桨领航团武汉长沙回顾|识别皮肤病,一秒记笔记,AI还有哪些惊喜?
  20. EXCEL-VBA:EXCEL的各种文件名获取

热门文章

  1. 深圳大学计算机保研,从二线城市985高校保研到深圳大学值得吗?
  2. 如何用c语言输出太阳图案,闪亮的太阳上色简笔画图片教程步骤
  3. 两人斗地主客户端源码(一)
  4. 材料特性如何影响静电荷
  5. 《微服务设计》--读书笔记
  6. 华为数通笔记-MCE
  7. vim配置(基于vundle)
  8. 【python】 定义一个Person类,它包含数据成员age, name和gender。从Person中派生一个类Employee,在新类中添加一个数据成员,存储个人的number.等等
  9. 【学海无涯】Java成神之路
  10. SAP 下载excel提示 请和系统管理员联系.缺少下列模板:sap_sm.xls