Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何处理表单上的许多控件?_C#_.net_Winforms_Controls - Fatal编程技术网

C# 如何处理表单上的许多控件?

C# 如何处理表单上的许多控件?,c#,.net,winforms,controls,C#,.net,Winforms,Controls,我想知道如何处理一个有很多控件的表单。您是否将所有处理代码都塞进表单中?这就是我一直在做的事情,但是我最近的项目已经失控了,因为我需要使用所有的控件。我有菜单、多个工具栏、用控件填充的选项卡控件、状态栏等等。。。你明白了。我正在考虑使用分部类来分割事物,但这可能是个坏主意。我只是需要一些关于我该做什么的建议 我建议使用UserControls来分解您的功能。通过将独立的部分移动到UserControl实例中,可以隔离逻辑 此外,当应用程序变得越来越大时,使用MVC或MVP之类的体系结构模式会有很

我想知道如何处理一个有很多控件的表单。您是否将所有处理代码都塞进表单中?这就是我一直在做的事情,但是我最近的项目已经失控了,因为我需要使用所有的控件。我有菜单、多个工具栏、用控件填充的选项卡控件、状态栏等等。。。你明白了。我正在考虑使用分部类来分割事物,但这可能是个坏主意。我只是需要一些关于我该做什么的建议

我建议使用UserControls来分解您的功能。通过将独立的部分移动到UserControl实例中,可以隔离逻辑


此外,当应用程序变得越来越大时,使用MVC或MVP之类的体系结构模式会有很大帮助。

您应该按功能将控件划分为逻辑组,然后将每个组移动到其自己的用户控件。

如果您按照您描述的主要形式构建某些内容,您确实应该开发一个具有定义的业务和数据层的体系结构。您的实际功能和操作应该分离到专门为处理抽象信息/操作而构建的类库中。数据调用和处理也是如此。这些应该抽象到一个单独的库中,该库负责管理数据源的输入/输出操作


这样做的目的是将实际形式的代码简化为管理显示和即时行为(单击、滚动、菜单等)所需的元素。如果您有效地管理表单状态,甚至可以将其中的一些组合起来。要点是,您要确保尽可能多地从表单中抽象出来,并将表单的责任留给即时显示。

对于简单应用程序来说,最好的办法是将独立控件移动到UserControls或使用MVVP模式,尽管学习和实现它花费的时间很少,但最终它会减轻您实现新功能的努力