计划构建 Windows Forms 应用程序并需要建议
我是一名 Web 开发人员,几乎没有寡妇表单开发经验,我想在开始之前找到有关此主题的真正好的信息。
我计划构建一个 Windows 窗体应用程序,并将其通过 CD 交付给用户。光盘将安装应用程序,并且我假设将数据库安装到客户端计算机上。客户端计算机并不总是能够访问互联网。我有什么选择?
我可以使用什么数据库,我可以使用sql server express吗?
我走 Windows 窗体路线正确吗?
有人可以向我指出有关此类软件开发的一些非常好的信息吗?
先感谢您。
I am a web developer and have very little widows forms development experience, and I want to find really good information on this topic before I start.
I am planning to build a windows forms application that will be delivered on a cd to users. The cd will install the application and I presume the database to the client machine. The client machines will not always have access to the internet. What are my options?
What databases can I use, can I use sql server express?
Am I right in going the windows forms route?
Can someone point me towards some really good information on this type of software development?
Thank you in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您的 Windows 开发经验很少,我强烈建议您跳过 WinForms,直接转向 WPF,甚至浏览器外的 Silverlight。 WinForms 很快就会被这两种较新的技术所取代,此时没有理由不开始学习它们而不是 WinForms。
您可以使用 SQL Server Express,但如果每个用户都拥有自己的数据库,那么在部署应用程序时可能会导致复杂化。您可能需要考虑 SQL Compact Edition 作为替代方案。
有关详细信息,请参阅本文。
If you have very little windows development experience, I would strongly suggest skipping WinForms, and move straight to WPF, or even out-of-browser Silverlight instead. WinForms is quickly being replaced by these two newer technologies, and there's no reason not to start learning them instead of WinForms at this point.
You can use SQL Server Express, but that may cause complications when deploying your application, if each user is to have their own database. You may want to consider SQL Compact Edition as an alternative.
See this article for more information.
我几年前就这样做了(构建了一个桌面 Windows 窗体应用程序,以前只开发过 Web 应用程序)。我发现这比我预想的要容易,因为我对 C# 和 .NET Framework BCL 的了解都可以无缝继承。
有一些棘手的例外情况;我遇到的一个事实是,您可能需要深入研究多线程,以免用户感觉您的应用程序已挂起 - 尽管随着 BackgroundWorker 类。
正如 David 所说,您可以使用 SQL Compact Edition 作为数据库,或者作为替代方案,SQLite 和System.Data.SQLite ADO.NET 提供程序。我现在已经在一些应用程序(网络和桌面)中使用了它,它非常简单、可靠且易于分发。
我也同意大卫的观点,你应该瞄准 WPF 而不是而不是专注于 WinForms。 WPF 对 Web 开发人员来说也有意义,因为它基于标记。
明智的部署:如果您有 Visual Studio 标准版或更高版本,您可以非常简单地创建安装项目,它将负责创建安装程序、将数据库复制到用户计算机上的正确位置等。
I did this a few years ago (built a desktop Windows Forms app, having only previously developed web applications). I found it was easier than I'd expected, because my knowledge of C# and the .NET Framework BCL all carried over seamlessly.
There were a few tricky exceptions; one which I bumped into was the fact you will likely need to delve into multithreading, in order for it not to appear to your users as though your app has hung—although this got a lot easier with the advent of the BackgroundWorker class.
You can, as David says, use SQL Compact Edition as a database, or as an alternative, SQLite and the System.Data.SQLite ADO.NET Provider. I've used this with a few apps now (web and desktop) and it's very simple, solid and easily distributable.
I'd also agree with David that you should aim for WPF rather than focusing on WinForms. WPF will also make some sense to you as a web dev, as it's based on markup.
Deployment wise: if you have Visual Studio Standard edition or above, you can quite simply create Setup Projects which will take care of creating the installer, copying the database to the correct place on the user's machine etc.