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

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

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

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

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

如果您想在.NET中实现最快的GUI开发时间,那么Windows Forms就是它。

对于桌面应用程序,基本上有两种选择; WinForms和Windows Presentation Foundation (WPF)。

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

  • 这个问题在开始使用WPF时提供了一些有用的资源。
  • 另请参阅MSDN上的本教程 。
  • WpfTutorial显然也有一些很好的提示!

祝好运!

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

它是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供应商锁定中。这意味着您肯定会发现自己迟早会重新编写您的应用程序。 即使您今天不需要可移植性,也可以从一开始就编写便携式软件。 我从经验告诉你,明天你需要携带。 非也!

您可以使用Windows窗体或Windows Presentation Foundation来开发GUI; 虽然,Windows Forms可能会让您感觉更熟悉。 如果您在Google上搜索Windows窗体教程 ,您将获得许多入门选项。

如果您需要使用.NET 2.0,则仅限于Win Forms。 WPF需要.NET 3.5。

我建议下载微软的免费Visual Studio Express Edition用于开发。 它包括一个出色的拖放式GUI设计工具。

我不同意WinForms的所有倡导者。 这并不容易。 对于具有GUI编程传统经验的人来说可能更容易,但这张海报没有

WPF有一个更好的设计故事,数据绑定比WinForms好多了。 您可以在WinF上启动和运行至少与WinForms一样快,然后在不遇到WinForms的限制的情况下更进一步。 将此与VS 2010中的设计时数据绑定相结合,我想说任何开始进行GUI开发的人都应该完全绕过Winforms。

我建议先学习Winforms,然后再移动WPF。 Winforms更容易学习并且可以快速完成工作。 然而,未来是WPF,所以我不会把它留在黑暗中。 我发布了一些关于GUI开发工作的好书和链接。

图书

  • 日常事物的设计一本关于界面设计的好书。 它不是特定于软件,而是GUI设计者必读的内容。
  • 编码恐怖 。 他在他的书单上推荐了很多开发书籍,但这些书籍与界面有关:

不要让我思考
关于Face 3.0
囚犯正在运行庇护
GUI Bloopers

网页链接

  • 确认对话是否有害? Guido van Rossum的博客文章(Python的创建者)
  • GUI文章 Joel Spolsky(joelonsoftware.com)关于GUI的一些文章
  • Interfaced Systems International拥有大量资源,尤其是在其UI参考页面上
  • Windows Vista用户体验指南

在实现快速实用的GUI方面,C#WinForms将是最快的。 虽然如果您考虑制作复杂的GUI,动画,3D等,WPF会更好。

您可以使用CodePlex找到一些好的工作项目,以便在WinForms和WPF的最佳实践方面进行学习。

您还可以在这里查看WPF和WinForms上的一些好书。

C#肯定。 使用Winforms作为业务线app /经典GUI。

用c#读取petzold的编程窗口

或者只是潜入视觉工作室。 使用VS创建GUI非常简单 – 您会喜欢它

你会发现从java到c#的langauge过渡非常简单(不是gui bit tho)

我想我已经得出结论,C#是最好的和最快的方式(如果我错了,请纠正我)。 您有什么推荐的吗?

就个人而言,我会坚持使用Java。 我们(意思是OffByZero ,我共同创立的公司)发布了一个名为OBZVault的加密文本编辑器,它是用Java编写的。

我们最初在Linux中编写它,然后移植到Mac OS X和Windows。 我们发现Windows端口提供了完全可接受的外观和感觉 – 几乎(但不完全)像本机Windows应用程序。

我们使用InnoSetup来构建本机Windows安装程序,并发现它也非常好。

结论:除非您想学习新的语言和平台,或者您对.NET等其他平台提供的function有特定需求,否则也要为您的Windows开发坚持使用Java。 您需要学习Java GUI框架,但如果您切换到.NET,则必须学习WPF或WinForms。

对于有经验的.NET开发人员来说 ,在WinForms或WPF中构建Windows应用程序可能会更快,但如果您已经精通Java,我会坚持使用您所知道的工具(语言,库,IDE)。