在C#中学习Windows窗体编程的好项目是什么?

时间:2009-06-17 20:08:29

标签: c#

我想学习c#所以我可以做一些桌面开发。我开发了命令行C#应用程序,并希望扩展到桌面应用程序。

我正在考虑创建一个像Jing这样的截图工具,或者可能是Outlook的插件,用于将联系信息与Google等服务同步。

你有什么想法?我过去的经验是使用PHP构建的Web应用程序。

7 个答案:

答案 0 :(得分:9)

我会尝试从一些相当包含的东西开始,这只涉及一些新技术。例如,如果您想学习Windows窗体,请编写一些使用该窗体但需要与Outlook,Google或Win32 API通信的内容。一旦掌握了Windows窗体,请尝试一个额外技术 - 例如,尝试显示您的Google通讯录并进行离线编辑。然后添加另一项技术......等。

根据我的经验,一次学习一项新技术是很困难的 - 但这比一次学习两项或更多技术要快得多。您不可避免地会遇到不知道问题所在的阶段,并且您对任何代码都没有信心,因为它是所有新代码。如果您对语言还不熟悉,这一点尤其重要 - 尽管我很高兴听到您开始使用某些控制台应用程序:)

很抱歉,如果这听起来像我是一个湿毯子,我意识到你需要花费更长的时间来获得有用的东西,但我认为你更有可能在长期内取得成功运行

答案 1 :(得分:6)

找到最重要的兴趣和兴奋的东西。如果你选择的东西太无聊而你不在乎你只会在你到达之前放弃,而且根本不会受益。不要为了学习语言而做垃圾项目。做一个好项目,用新语言做副作用。

答案 2 :(得分:3)

制作记事本克隆。虽然相当简单,但它会为您提供一些基本Windows窗体机制的入门知识,例如使用菜单和对事件做出反应,从磁盘上存储控件获取输入,从磁盘读取和更新控件,使用Docking和Anchoring等等。

答案 3 :(得分:2)

Twitter客户端是新的hello world

前几天我在某处读到了。我不能亲自评论它对你的目标的适应性。

答案 4 :(得分:2)

做一些你之前做过的事,但用另一种语言做。然后,您将不必再考虑特定任务的大部分架构,但您将能够比较语言,框架及其方法。

我打赌你会学到很多关于你以前的语言以及做这个练习的事。

答案 5 :(得分:1)

一个好的项目将是一个简单的窗体。你只是有机会将所有东西放在一起。或者至少看一个更大的图片。 您可以根据需要使其变得复杂,而不会粘在一个区域上。

答案 6 :(得分:0)

建议一个特定的项目毫无意义。想想你感兴趣的东西,或者你想要/需要的应用程序,然后开始制作它 - 只要你无法猜到如何完成特定任务,就可以搜索Stackoverflow / Google / MSDN /等。

例如,我必须制作自助服务终端应用程序,允许客户注册公司邮件列表。我尝试使用Ruby框架Shoes,但它在运行应用程序的笔记本电脑上无法正常工作。 Visual C#看起来更合适,而且几乎肯定会正确运行..

所以我安装了Visual C#Express,添加了一些标签和一个按钮。我双击按钮,意识到我不知道创建一个新的WinForm窗口的代码..所以我搜索谷歌“视觉C#开放新对话”或其他什么,我发现我必须添加一个新的表格,然后致电NewForm newwindow = new NewForm(); newwindow.show();或类似。

然后,我添加了用户名/电子邮件字段,然后搜索“如何显示警告框”并选中我可以显示表单值。

这一切都有效,所以现在我必须决定如何存储电子邮件。我听说过关于LINQ to SQL的好东西,所以看了一下,我决定使用SQL Server CE(所以我不必在笔记本电脑上安装/运行SQL Server)。这导致更多的搜索如何使LINQ to SQL与SQL Server CE一起工作..

最后,我想要一个配置面板来更改标题/按钮字符串等(可以通过某个键盘快捷键访问).Google搜索显示了如何捕捉击键,我问了一个关于表示设置的Stackoverflow问题(使用PanelView或其他东西)

..无论如何,这个稍长,漫无目的且不是非常有趣的故事就是......你可以一次学习很多新技术,只要你有一个特定的应用程序(并且你决心完成它!)

我在一天之内学会了C#,WinForms,SQL Server CE,LINQ to SQL以及简单的应用程序发布内容 - 在此过程中创建了一个功能强大且实用的应用程序 - 只需结合使用刺激,Google搜索和Stackoverflow。