使用 C# 在表单之间传递数据的最佳方式

Posted

技术标签:

【中文标题】使用 C# 在表单之间传递数据的最佳方式【英文标题】:Best way to pass data between forms using C# 【发布时间】:2012-11-12 17:06:51 【问题描述】:

这更像是一个基于理论的问题。我正在为我的最后一个 C# 项目进行设计,即创建 Jeopardy。我的问题是,在它们之间传递数据的最佳方式是什么?例如,规则要求游戏在启动画面显示后打开一个选项屏幕。在这里,他们将选择玩家的数量和他们的名字。我知道在我的游戏表单加载事件中,我可以将这些东西指定为参数并将它们作为选项表单中的参数传递。不过,这似乎很混乱,是否有更有效的方法来创建项目范围的变量,无论我当前使用何种形式,我都可以引用这些变量?

感谢您的任何回答,我们始终不胜感激!

-- 年轻的学徒程序员

【问题讨论】:

全局变量通常被认为是不好的做法。我建议阅读 MVC 模式。 Here's an article I just googled.我只是略读了一下,但它似乎是一个合理的起点。 好东西!谢谢尼克! 【参考方案1】:

如何使用静态属性或单例模式创建一个单独的业务对象(即类)。然后,您可以将所有应用程序值存储在那里,您可以从应用程序中的任何位置引用它们,而无需在各处传递变量的繁琐工作。

【讨论】:

这是正确的答案。我看到太多关于在表单之间访问数据的问题,也有太多人解释如何使成员公开或通过构造函数传递对另一个表单的引用,而没有解决关注点分离、分层和抽象的基本问题。 感谢 Sam,我会将其应用到我的项目中。

以上是关于使用 C# 在表单之间传递数据的最佳方式的主要内容,如果未能解决你的问题,请参考以下文章

在 datagridview 和表单之间传递数据的更有效方式

在 Flutter 中的小部件之间传递数据的最佳方式

在 CDialog 类型的子窗体之间传递数据

关于不同页面之间实现参数传递的几种方式讨论

在C中的两台服务器之间传递数据的最佳方式?

不同页面之间实现参数传递的几种方式讨论