打开新表单或编辑当前表单

时间:2013-07-04 01:28:51

标签: c# forms

我正在为Windows桌面计算机启动一个C#应用程序。

我想知道我的方案最好的方法是什么。

我有两个简单的表单,一个将有几个按钮,这将是主要的开始表单。第二种形式将有一些标签和文本字段,将用扫描仪填写。我将稍后尝试接受来自com端口的输入,所以无论谁使用它都不必选择程序让它得到输入。在第二个表格中的最后一个文本框填满之后,程序将返回到第一个表单。

我正在考虑展示新形式并隐藏主要形式,但我认为它会在一个窗口中最好。

我对C#很新,所以这是最佳实践的学习经验。

谢谢

1 个答案:

答案 0 :(得分:1)

我不太确定你想要什么样的信息之王,但是我已经非常认识C#"我会给你提供我认为我需要的信息。知道我什么时候对#C#"非常新。

我个人建议不要使用Windows窗体并使用 WPF 。它允许您创建完全可自定义的应用程序,并为您的应用程序添加许多使用Forms无法实现的功能。

如果使用WPF,您可能只有一个窗口,另外两个UserControls。 根据此应用程序的复杂程度,您应该考虑使用MVVMhttp://msdn.microsoft.com/en-us/magazine/dd419663.aspx)之类的模式;您可能希望应用程序越复杂,我建议使用它越多。

在使用MVVM的情况下,您的Forms(我将其称为UserControls)都会设置DataContextDataContext将是视图(您的UserControl)将绑定到的类。所以我的想法是你可能在这个ViewModelDataContext)中有方法,用其来自COM端口的数据填充其成员,而视图(UserControl)将具有绑定到DataContextViewModel),表示ViewModel中的数据。 ViewModel还有责任在更新值时通知View,以便显示它。 ViewModel上的属性也可以更新(通过绑定),以指示用户已在UserControl上更改了某些内容。因此,例如,您的Textbox可能绑定到String property,因此当String property更改时,Textbox会更新。同样,当Textbox中的文本发生更改时,将更新字符串属性。这是可定制的。我们的想法是ViewViewModel之间有一个清晰的分离,这样东西很容易测试,而且不会破坏。

我不确定你在寻找什么,但我希望这会有所帮助!!

祝你好运