首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打开新表单或编辑当前表单

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

Stack Overflow用户
提问于 2013-07-04 09:28:51
回答 1查看 134关注 0票数 0

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

我想知道对我的场景来说最好的方法是什么。

我有2个简单的形式,一个将有几个按钮,这将是主要的启动形式。第二个表单将有一些标签和文本字段,这些标签和文本字段将由扫描仪填写。我稍后将尝试只接受来自com端口的输入,这样无论谁使用它,都不必选择程序来获得输入。在第二个表单中的最后一个文本框被正确填充后,程序返回到第一个表单。

我正在考虑显示新的窗体并隐藏主要的窗体,但我认为在一个窗口中显示会更好。

我对C#非常陌生,所以这是学习最佳实践的经验。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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)都将各自设置一些DataContextDataContext将是视图(您的UserControl)将绑定到的类。因此,我们的想法是,此ViewModel ( DataContext)中的方法将用来自COM端口的数据填充其成员,而View ( UserControl)将具有到其DataContext (ViewModel)的绑定,该绑定将指示ViewModel中的数据。ViewModel还负责在值被更新时通知视图,以便它可以显示该值。还可以(通过绑定)更新ViewModel上的属性,以指示用户已在UserControl上更改了某些内容。例如,您的Textbox可能绑定到一个String property,这样当String property发生更改时,Textbox也会更新。类似地,当Textbox中的文本发生更改时,string属性也会更新。这都是可定制的。这个想法是在ViewViewModel之间有一个干净的分离,这样东西就很容易测试,并且不太可能崩溃。

我不是很确定你在找什么,但我希望这能有所帮助!

祝好运

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17460587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档