我正在为windows桌面计算机启动一个C#应用程序。
我想知道对我的场景来说最好的方法是什么。
我有2个简单的形式,一个将有几个按钮,这将是主要的启动形式。第二个表单将有一些标签和文本字段,这些标签和文本字段将由扫描仪填写。我稍后将尝试只接受来自com端口的输入,这样无论谁使用它,都不必选择程序来获得输入。在第二个表单中的最后一个文本框被正确填充后,程序返回到第一个表单。
我正在考虑显示新的窗体并隐藏主要的窗体,但我认为在一个窗口中显示会更好。
我对C#非常陌生,所以这是学习最佳实践的经验。
谢谢
发布于 2013-07-04 10:02:49
我不是很确定你想要什么样的信息,但是考虑到“我是C#的新手”,我会给你一些我认为当我是“C#新手”时需要知道的信息。
我个人建议不要使用windows窗体,而是使用WPF。它允许您制作完全可定制的应用程序,并为您的应用程序添加许多使用Forms无法实现的功能(特别是可视化功能)。
在使用WPF的情况下,您可能会有一个窗口和两个单独的UserControls。根据这个应用程序可能有多复杂,您应该考虑使用像MVVM (http://msdn.microsoft.com/en-us/magazine/dd419663.aspx)这样的模式;您希望您的应用程序变得越复杂,我就越推荐您使用它。
在使用MVVM的情况下,您的两个Forms (我将它们称为UserControls)都将各自设置一些DataContext。DataContext将是视图(您的UserControl)将绑定到的类。因此,我们的想法是,此ViewModel ( DataContext)中的方法将用来自COM端口的数据填充其成员,而View ( UserControl)将具有到其DataContext (ViewModel)的绑定,该绑定将指示ViewModel中的数据。ViewModel还负责在值被更新时通知视图,以便它可以显示该值。还可以(通过绑定)更新ViewModel上的属性,以指示用户已在UserControl上更改了某些内容。例如,您的Textbox可能绑定到一个String property,这样当String property发生更改时,Textbox也会更新。类似地,当Textbox中的文本发生更改时,string属性也会更新。这都是可定制的。这个想法是在View和ViewModel之间有一个干净的分离,这样东西就很容易测试,并且不太可能崩溃。
我不是很确定你在找什么,但我希望这能有所帮助!
祝好运
https://stackoverflow.com/questions/17460587
复制相似问题