且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2023-12-06 14:22:28

我对 Centura Builder 不熟悉,所以我不确定您之前的 Windows 编程经验处于什么抽象级别.如果选择使用C/C++和Win32的原生代码路线,一定要买一本Programming窗户 by Charles Petzold.阅读本书的前几章可以帮助您决定是否也想走原生代码路线.

I'm not familiar with Centura Builder, so I am not sure at what level of abstraction your prior Windows programming experience is. If you choose the native code route using C/C++ and Win32, be sure to buy a copy of Programming Windows by Charles Petzold. Reading the first few chapters of this book can help you decide if you want to go the native code route as well.

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

If you choose the .NET Framework and C#, and if you do not need the version 3.5-specific features (such as LINQ for database access), I recommend choosing version 3.0. It is a built-in component on Windows Vista, so you don't have to package the runtime with your program installer unless you have to support Windows XP (which you probably do, so never mind :). With version 3.0, you get Windows Presentation Foundation (to use instead of or along with Windows Forms), which gives you a lot of graphical capability without a lot of effort. I'm not knowledgeable about CAD, so I don't know if WPF would provide the drawing functions that you need, but it may provide a great platform upon which you can write your own drawing routines.

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

I missed your Windows version requirements on first reading, particularly the Windows 2000 requirement. I guess you'd have to go with .NET Framework version 2.0 and Windows Forms. I have to ask, though: Wouldn't it be cost-effective to improve your engineers' productivity by upgrading their eight-year-old machines to something newer and faster and therefore get rid of your Windows 2000 support requirement?