C#的windows form和WPF区别在哪里?

2024-05-15

1. C#的windows form和WPF区别在哪里?

我之前做Microsoft WPF项目开发,现在做WinForm C/S架构开发:

1、两者没有过时之说,首先WPF是相对于WinForm来说,使用了XAML语言,使用界面效果更好一些,更突显之处在于,WPF技术可以目前较为流行的Surface技术相结合,实现像IPhone手机相似的,触摸屏技术,因此,在需要较好的视觉效果时,或者有更高的需求时,有能力的公司会选择使用WPF开发,:例如:富媒体展示平台,它更适合展示平台;
2、WinForm相对来说,属于应用型软件范畴,注重软件的客户端实现,例如:CRM\ERP系统,或者常见的数据库类软件、上位机系统等等。对于使用来说,WPF是无法比拟的!
3、所以,在不同需要的情况下,一般使用不同的技术来实现!WinForm没有过时,而是在他需要的地方,恰到其分的使用着!

C#的windows form和WPF区别在哪里?

2. C#的windows form和WPF区别在哪里?

我之前做Microsoft
WPF项目开发,现在做WinForm
C/S架构开发:
1、两者没有过时之说,首先WPF是相对于WinForm来说,使用了XAML语言,使用界面效果更好一些,更突显之处在于,WPF技术可以目前较为流行的Surface技术相结合,实现像IPhone手机相似的,触摸屏技术,因此,在需要较好的视觉效果时,或者有更高的需求时,有能力的公司会选择使用WPF开发,:例如:富媒体展示平台,它更适合展示平台;
2、WinForm相对来说,属于应用型软件范畴,注重软件的客户端实现,例如:CRM\ERP系统,或者常见的数据库类软件、上位机系统等等。对于使用来说,WPF是无法比拟的!
3、所以,在不同需要的情况下,一般使用不同的技术来实现!WinForm没有过时,而是在他需要的地方,恰到其分的使用着!

3. wpf和winform的区别

1、来源不同
WPF是微软推出取代winform的产品,能分离界面设计人员与开发人员。
WinForm创建丰富的基于Windows的应用程序。
2、底层使用情况不同
WPF底层使用的DirectX,winform底层使用的是GDI+。

3、曲线学习情况不同
Winform的学习曲线较少,而WPF需要更多的学习曲线来理解控件和设计部分的完整流程。
4、开发应用程序情况不同
Winform在开发应用程序时更易于使用,而WPF使用起来有点困难,因为它需要良好的知识才能使用控件。
5、控件情况不同
在Winform中,控件很难自定义,而在WPF中,控件可以轻松自定义,因为它完全是从头开始编写的。
6、数据绑定情况不同
Winform以有限的方式支持数据绑定,而WPF完全支持数据绑定。

wpf和winform的区别

4. Winform和WPF的区别和WPF具体用法

WPF将Windows表示层发展至用声明式语言进行开发,并且融入大量的动画和特效,使得在Win32中极难做到的富客户端应用能在WPF中信手拈来,同时用矢量图取代位图,引入路由事件(RoutedEvent)对元素树进行多层监听,通过依赖属性(DependencyProperty)动态变更控件树等。在WinForm程序开发时,一旦涉及多线程操作,我们一般不可能没有见过InvalidOperationException这个异常。这个异常的出现多数情况是由于worker线程(子线程)修改主线程控件(或对象)的属性而导致的非法操作,当然这种做法也非每次都会失败,这主要取决于子线程想要操作的对象是不是线程安全的。
 WinForm控件提供了InvokeRequired属性来判断当前线程是不是创建此控件的线程。一旦控件创建完成,那么InvokeRequired的效率将会不错,且也能保证安全。不过若是目标控件尚未被创建(此时,虽然C#对象已经存在,不过其底层的窗口句柄仍旧为null),那么InvokeRequired则可能会耗费比较长的时间。(它会从下至上遍历整个控件树,直到找到一个可以承载此控件且已经实例化并被创建了的父控件,这种做法可以保证子控件将会与父控件在同一个线程上创建。找到合适的父控件之后,框架即可执行同样的检查,比较当前线程的ID和创建该父控件的线程的ID。)。若是框架无法找到任何一个已创建的父窗体,那么则需要找到一些其他类型的窗体。若在层次体系中无法找到可用的窗体,那么框架将开始寻找暂存窗体(parking window),暂存窗体让你不会被某些Win32 API奇怪的行为所干扰。简而言之,有些对窗体的修改(例如修改某些样式)需要销毁并重新创建该窗体。暂存窗体就是用来在父窗体被销毁并重新创建的过程中用来临时保存其中的控件的。在这段时间内,UI线程仅运行于暂存窗体中。
通常,WPF 应用程序从两个线程开始:一个用于处理呈现,一个用于管理 UI。呈现线程有效地隐藏在后台运行,而 UI 线程则接收输入、处理事件、绘制屏幕以及运行应用程序代码。
WPF为Windows Presentation Foundation的缩写 ,其原来代号为“Avalon”,因“我佩服”拼音首字母组合一样,国内有人调侃地称之为“我佩服”。WPF是微软新一代图形系统,运行在.NET Framework 3.0架构下,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,比如Vista中的半透明效果的窗体等都得益于WPF。 程序员在WPF的帮助下,要开发出媲美Mac程序的酷炫界面已不再是遥不可及的奢望。 WPF相对于Windows客户端的开发来说,向前跨出了巨大的一步,它提供了超丰富的.NET UI 框架,集成了矢量图形,丰富的流动文字支持flow text support,3D视觉效果和强大无比的控件模型框架。

5. WPF和WinForms有什么区别和联系?

WPF是应用程序一个崭新的概念:数据驱动程序,以数据为中心,通过Bind将界面永远定位为从属地位。简化了程序中界面逻辑代码的编写,现在几乎不需要编写。WPF也允许完全自定义控件外观,通过XAML模板即样式,可以轻松定制出程序外观来。WPF还是先了富动画程序,添加了很多种动画提供更好的用户体验。VS2010即用WPF开发。增加命令模型。
反正啊,WPF是一门新技术,比起WindForms来有太多的优势。WPF是从2007年到现在2012年历经互联网5年的发展的新技术,经过5年这项技术逐渐成熟起来。加上用户硬件的升级,用户体验会成为软件质量的最重要指标之一,而性能将降低在程序中的重要性。
WindowForm以事件,按钮驱动程序向前运行。在业务逻辑部分以数据为中心。可在界面展示部分又得以界面为中心。通常界面交互占据一定量得逻辑代码。这些代码与业务逻辑并无太大关系,因此可能降低程序开发的效率。
个人认为,WPF编程比WinForm好,如果选择学习的话还是建议选择WPF,未来的发展空间更大。

WPF和WinForms有什么区别和联系?

6. Winform是什么?????

WinForm是.Net开发平台中对Windows Form的一种称谓,也称为“胖客户端"。
WinForm可以使我们看到的QQ似的软件,有可视化的界面,可以与网络通信,操纵数据库,与服务器交互等。还可以像photoshop进行图像处理,像其他播放器一样播放音乐和视频等。这些功能,需要编写相应的处理程序来实现。
WinForm控件是指以输入或操作数据的对象。比如ComponentOne是.net平台下对数据和方法的封装。有自己的属性和方法。属性是控件数据的简单访问者。方法则是控件的一些简单而可见的功能。包含在 .NET Framework 中的 Windows窗体类旨在用于 GUI 开发。
可以轻松创建具有适应多变的商业需求所需的灵活性的命令窗口、按钮、菜单、工具栏和其他屏幕元素。

扩展资料
WinForm的优点:
WinForm含有一个窗体,作为控件和其它图形的平台,可以开发智能客户端,易于部署和更新图像,无论是否连接到Internet都可以工作,并且可以用比传统的基于Windows的应用程序(如MFC开发的Windows应用程序)更安全的方式访问本地计算机上的资源。
WinForm和Web窗体。两者在开发环境中都具有完全的设计时支持,提供同样丰富的用户界面,由于这种功能相似性,要决定哪种技术适合给定的应用程序可能有点困难。
如果创建的是一个公众可以通过Internet访问的电子商务网站,则应该使用Web窗体页开发此应用程序。
如果正在生成需要利用客户端计算机的全部功能,并且处理的工作量很大,要求响应迅速的应用程序(比如办公程序,游戏软件,销售系统),应该使用WinForm,它是在.NET框架中生成的,因此它可以访问客户端计算机上的系统资源,以消除由不希望的访问引起的任何安全性风险或潜在问题。
参考资料来源:百度百科-Winform

7. WPF和WinForm技术有什么区别?哪个更加有前景

怎么说呢,桌面程序整体的趋势都在下滑,现在的趋势更多的放在了web,移动端和服务器端上。
而WPF和winform与VC++同属于GUI中比较主流的三种程序GUI设计
其中优势VC++ > Winform > WPF
VC++执行速度快,开发速度慢;
Winform开发快、界面简陋;
WPF界面好看、耗资源;
要说前景的话,这几个GUI都在弱化,最先被抛弃的可能是WPF,美观耗费过多的资源可能是影响客户体验的重要方面,虽说现在电脑配置都在增加,但是装的东西多了耗费的内存更多,就像手机,装十几个app都无法满足一般人的需求,如果一个app耗费过多资源,会影响继续使用率。winform作为一个工具来说还是不错的,短期内也不会被抛弃。VC++主要承接现在的C/S桌面程序,只要不出现改革性的模式出现,也不会被遗弃。

WPF和WinForm技术有什么区别?哪个更加有前景

8. WPF和WinForm技术有什么区别?哪个更加有前景

从程序上讲,都以事件的形式调用处理。
winform开发上比WPF稍容易点,但整体上说其实没多大区别。
WPF基于directX,所以对于3D的处理更好,画面也更加酷炫。
winform的画面设计采用与开发语言相同的语言实现,并保存在相同的代码类型文件中,移植性不好。WPF的画面采用XML形式书写,保存在xml中,移植性更好,也更直观易懂。
另有一点细微差别,就是winform的控件可以叠放,如两个button的坐标可以完全一样,只能看到上面的一个。而WPF的控件不能叠放,所以如果有两个button位置相同,你必须要隐藏一个,否则两个都会被看到。