我的表单中的代码量是否存在限制或性能损失home.cs
?
我正在 Visual Studio 2008 中用 C# 编写数据库应用程序前端。事情的排列方式是,我使用标签页方式更改显示给最终用户的信息,而不是使用新表单。
来自 VBA/MS Access,我记得如果您检查一定数量的代码行,它会产生错误并且无法编译。C# 会在 Visual Studio 2008 中执行此操作,还是会影响性能?我知道代码可读性可能是个问题,因为一切都在一个地方,但我也可以将其视为在某些情况下的优势。
我的表单中的代码量是否存在限制或性能损失home.cs
?
我正在 Visual Studio 2008 中用 C# 编写数据库应用程序前端。事情的排列方式是,我使用标签页方式更改显示给最终用户的信息,而不是使用新表单。
来自 VBA/MS Access,我记得如果您检查一定数量的代码行,它会产生错误并且无法编译。C# 会在 Visual Studio 2008 中执行此操作,还是会影响性能?我知道代码可读性可能是个问题,因为一切都在一个地方,但我也可以将其视为在某些情况下的优势。
在性能方面,您需要担心的不是 .cs 文件中的代码行,而是运行时表单上可能导致问题的控件数量。如果只是几个选项卡上的几个控件,您将没有问题。如果在许多选项卡上有数百个控件,您可能会遇到性能问题(更不用说可用性问题 - 我个人讨厌具有多行选项卡的选项卡控件)。
此外,如果 UI 的目的更像是向导,您希望用户连续与所有选项卡交互,我认为选项卡不合适。选项卡旨在向用户呈现一组选项,而不需要他们一次查看所有选项。
最后,如果每个选项卡的用途明显不同,我发现将每个功能位封装为单独的表单会更容易。使用选项卡,您至少可以将每个位封装为用户控件,然后让表单上的每个选项卡托管一个用户控件的实例。
我能预见的唯一问题是,将来它会很难维护。
尝试将主表单的逻辑尽可能分解为类,以便当您需要添加某些内容时,您可以在不合适的情况下实际执行它。
如果您正在使用选项卡,您仍然可以创建自定义用户控件来保存选项卡中的内容。为每个选项卡制作一个控件,然后您可以将不同选项卡的代码分开。这里有 MSDN 上的演练。
针对您上面的评论,关于不显示标签,我真的会重新考虑您是如何处理这个问题的。为什么不简单地将所有用户控件放在主窗体上,必要时在面板中,将它们全部设置为Dock = DockStyle.Fill
,然后根据要显示的属性更改 Visible 和 Enabled 属性?你可能会让自己变得比需要的更难。
对评论的更多回复 - 您可能正在寻找类似 Java 中的 CardLayout 之类的东西。GNU Classpath 版本的源代码可以在这里找到,它可能会给你一些关于如何实现它的想法。
“我知道代码可读性可能是一个问题,因为一切都在一个地方,但我也可以将其视为某些情况下的优势。”
根据我的经验,这种态度最终会让任何必须在未来维护您的代码的人感到头疼,因为模块化代码是一种公认的做法,以便将可能更改的部分或用于明显不同目的的部分分开彼此远离。
话虽如此,我不认为 VS 对文件长度施加了限制,但我认为随着文件变长,尤其是在设计视图和代码视图之间切换时,你会遇到一些令人沮丧的性能下降。
我会敦促您保存您未来的自我和他/她的理智,并将您的代码在逻辑上分解为单独的文件。以后你会感谢自己的!
这不应该是一个问题。
只需牢记良好的编码实践并将代码模块化以提高可读性和可维护性。
另一方面,如果您在表单上放置了太多控件,则加载时间可能会更长。如果您想要一个活泼的界面,请将其纳入您的设计。
听起来很可怕,但我看不出有什么原因会成为问题。
我有一个表格继承了我的新工作,它有超过 30,000 行。它是完全癌变的。在编码和模块化之前请三思!