Windows GUI编程 - C + SDK或C#+ Windows窗体

Cyb*_*nic 4 windows user-interface

我是一名具有大量服务器代码经验的C程序员(AIX,HPUX,一些Linux)我需要为Windows(2000,XP,Vista,7)编写一个GUI程序,它需要类似CAD的绘图功能和大量数据输入表格(这是一个专业的工程应用程序).多年前我使用Gupta SQLwindows(现在的Centura Builder)编写了一些Win32代码.老板们已经下令它"必须"编译代码.我的看法是C + SDK可以完成这项工作,但需要付出相当大的努力,C#+ Windows Forms将更有能力,但我有点担心.Net框架要求.

根据您的经验,您会建议什么?

如果.Net,哪个版本?2.0,3.0,3.5 ??

Jay*_*aud 5

我不熟悉Centura Builder,因此我不确定您之前的Windows编程体验的抽象级别.如果您选择使用C/C++和Win32的本机代码路由,请务必购买Charles Petzold 的Programming Windows副本.阅读本书的前几章可以帮助您确定是否也想要使用本机代码路由.

如果您选择.NET Framework和C#,并且如果您不需要特定于版本3.5的功能(例如用于数据库访问的LINQ),我建议您选择版本3.0.它是Windows Vista上的内置组件,因此您不必使用程序安装程序打包运行时,除非您必须支持Windows XP(您可能会这样做,所以不要介意:).使用3.0版本,您可以获得Windows Presentation Foundation(代替Windows Forms使用或与Windows Forms一起使用),它可以为您提供大量图形功能,而无需花费太多精力.我不了解CAD,因此我不知道WPF是否会提供您需要的绘图功能,但它可以提供一个很好的平台,您可以在其上编写自己的绘图程序.

编辑:我在第一次阅读时错过了您的Windows版本要求,尤其是Windows 2000要求.我想你必须使用.NET Framework 2.0版和Windows Forms.不过,我不得不问:通过将已有8年历史的机器升级到更新更快的速度来提高工程师的工作效率,从而摆脱Windows 2000的支持要求,是否具有成本效益?