WPF背后的动机

本文探讨了从早期的GUI开发工具到.NET平台的Windows Forms API如何简化桌面应用程序的创建过程,通过对比.NET2.0提供的解决方案,揭示了Windows Forms开发人员面临的挑战及解决之道。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近年来,微软已经开发了众多的GUI开发工具包(原始的C/C++/Windows API开发、VB6\MFC,等等)用以创建桌面可执行程序。这些GUI API各自都提供了用以代表GUI应用程序基本要素的代码库。,这些基本要素包括主窗体、对话框、控件、菜单系统及其他一些必要的因素。随着.NET平台的发布,Windows Forms API开发模型凭借其简单而又强大的对象模型,快速成为UI开发的首选。

虽然许多功能完整的桌面应用程序已经通过使用Windows.Forms.dll.和System.Drawing.dll没有对创建完全成熟的桌面应用程序所需的许多技术提供直接的支持。为了说明这一点,考虑下在WPF发布之前进行GUI开发时(如在.NET2.0下)的混乱局面。

表21-1 .NET2.0为所需功能提供的解决方案

所要求的功能               NET2.0解决方案

构建带控件的表单        Windows Forms

2D图形支持                  GDI+(System.Drawing.dll)

3D图形支持                  DorectX API

对流视频的支持           Windows Media Player API

对流文档的支持           编程操作PDF文件



正如你所看到的,Windows Forms 开发人员必须引入来多种不同API和对象模型的类型。尽管在使用这些不同种类的API时,可能在语法上看起来比较相似(毕竟都是C#代码),但你也可能承认每种技术都需要截然不同的思维方式。比如,使用DirectX创建三维呈现动画时所需要的技巧,与将数据绑定到网格时所需要的技巧完全不一样。肯定地讲,要一个Windows Forms编程人员掌握所有这些迥异的API是非常困难的。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值