我正在为Windows桌面计算机启动一个C#应用程序。
我想知道我的方案最好的方法是什么。
我有两个简单的表单,一个将有几个按钮,这将是主要的开始表单。第二种形式将有一些标签和文本字段,将用扫描仪填写。我将稍后尝试接受来自com端口的输入,所以无论谁使用它都不必选择程序让它得到输入。在第二个表格中的最后一个文本框填满之后,程序将返回到第一个表单。
我正在考虑展示新形式并隐藏主要形式,但我认为它会在一个窗口中最好。
我对C#很新,所以这是最佳实践的学习经验。
谢谢
答案 0 :(得分:1)
我不太确定你想要什么样的信息之王,但是我已经非常认识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端口的数据填充其成员,而视图(UserControl
)将具有绑定到DataContext
(ViewModel
),表示ViewModel
中的数据。 ViewModel
还有责任在更新值时通知View,以便显示它。 ViewModel上的属性也可以更新(通过绑定),以指示用户已在UserControl
上更改了某些内容。因此,例如,您的Textbox
可能绑定到String property
,因此当String property
更改时,Textbox
会更新。同样,当Textbox
中的文本发生更改时,将更新字符串属性。这是可定制的。我们的想法是View
和ViewModel
之间有一个清晰的分离,这样东西很容易测试,而且不会破坏。
我不确定你在寻找什么,但我希望这会有所帮助!!
祝你好运