面向初学者的C#GUI编程:从哪里开始?

use*_*898 21 c# wpf user-interface winforms

我是一名C++/Java开发人员,不了解.Net或GUI.我需要为2000/XP/Vista/7开发一个Windows应用程序.

我想我已经得出结论,C#是最好的,最快的方式(如果我错了,请纠正我).您有什么推荐的吗?我应该学习哪种GUI方法?(表格?还有其他东西吗?)

这是在.Net 2.0模式下编译的最佳方式吗?它将成为公众下载的应用程序.

sti*_*k81 17

对于桌面应用程序,基本上有两种选择; WinFormsWindows Presentation Foundation(WPF).

WinForms更传统的构建,因此更容易学习.因此,WinForms可能是一个更简单的开始,但如果您计划实际使用您在.NET开发GUI中获得的知识,我会说您最好从一开始就深入研究WPF.这是一个更丰富的框架,也是微软为桌面应用程序付出努力的地方.它也类似于Silverlight,这意味着当您了解WPF时,您也可以轻松进入Silverlight.

祝好运!

  • 感谢您的评论.你是对的,但与WPF相比,我仍然认为这是有效的.许多其他GUI选项是事件驱动的,因此可与WinForms(Java Swing,Delphi,Qt,..)相媲美,而WPF与大多数其他选项不同. (3认同)
  • 谁能给我一个-1对他们不同意的事情发表评论,以便我们都能从中吸取教训? (2认同)

Nat*_*lor 10

在我的个人开发经验中,Windows Forms与在Windows上快速部署GUI应用程序时一样容易.WPF当然是另一种选择,但使用它可能需要您花一些时间熟悉XAML.Windows Forms的外观和感觉就像Java的许多可用GUI选项一样,在我看来,它比大多数都要好得多.

如果您想在.NET中尽可能快地进行GUI开发,那么Windows Forms就是它.

  • 我不同意codekaizen.如果我们谈论速度,对于那些没有遇到过的人来说,WinForms会更快.此外,视觉设计师实际上工作,不需要使用单独的程序(可能是Blend). (6认同)
  • 我不同意.WPF更快,特别是如果来自Web背景.WPF设计故事要好得多,并且至少具有与WinForms一样好的代码访问权限. (2认同)
  • 我的观点是基于从Java到.NET进行GUI开发的人.WPF是一个非常强大(并且相当简单)的平台,但对于从未使用过类似内容的人来说,学习曲线可能更陡峭.体面的Java GUI工具都非常类似于Windows窗体设计器,但我知道没有像WPF那样. (2认同)

no.*_*ing 8

是.在.NET开发方面,C#是首选语言.既然你已经用Java编程了,你会发现这个语言看起来非常熟悉(虽然看起来有点干净,并且有一些非常好的功能,比如委托,你甚至可以使用指针,如果你真的想要,尽管你不会需要在大多数情况下).

它是SWF(系统Windows窗体)或MWF(托管Windows窗体 - 使用System.Drawing在托管代码中编写的SWF的轻量级版本 - 它将您从基础经典SWF的WinAPI中解放出来).

还有GTK-Sharp,一个用于C-Sharp的GTK +绑定,但是由于您正在为Windows开发,用户会发现为您的应用程序安装第三方GUI框架很奇怪.

我不建议使用WPF.它直接调用底层图形硬件,这意味着它非常快,但根本不可移植.它只能在具有DirectX兼容硬件渲染单元(图形卡)的x86系统(不是SPARC等)上运行,并且不能在具有强大硬件抽象的系统上运行(如大多数Unices,如BSD或Linux或Solaris).

Novell还表示,由于其强大的硬件依赖性(Novell希望Mono可以跨多个处理器平台移植),他们将永远不会在不久的将来实施WPF.不要使用WPF.软件不再仅仅是一种抛弃产品,而在涉及操作系统时,我们正处于旋转时代.你今天运行的平台不一定是你明天要运行的平台.WPF是由Microsoft和Intel开发的专利和专利保护技术.如果您使用它,您将发现自己处于一个非常好的Win32-on-x86供应商锁定中.这意味着您肯定会发现自己迟早会完全重写您的应用程序.即使您今天不需要可移植性,也只需从头开始编写便携式软件.我是从经验中告诉你的,你明天需要携带.非也!