【问题标题】:C# Code design / Seperate classes for each TabControlC# 代码设计/每个 TabControl 的单独类
【发布时间】:2015-09-07 15:15:48
【问题描述】:

我的主要问题是我的工具不断增长,我开始失去对代码不同部分的关注。主窗体有一个全尺寸停靠的 tabControl。我有 5 个不同的选项卡,它们具有不同的功能。所以我可以说我的工具是按标签分成主题的。

我现在的想法是将代码拆分为每个选项卡的类。那会是一个坏习惯吗?

目前的样子:

namespace MyTool
    {
        public partial class FormMain : Form
        {
            // GENERAL CODE 

            // ... MAIN-EVENTS
            // ... CALCULATIONS

            // ACCORDING TAB1

            // ...
            // ...

            // ACCORDING TAB2

            // ...
            // ...

            // ACCORDING TAB3

            // ...
            // ...
        }
    }

我肯定已经在使用不同的类来获得一些 oop。但我的想法是创建更多带有标记名称的类,以便像这样拆分我的代码:

namespace MyTool
    {
        public partial class FormMain : Form
        {
            // GENERAL CODE 

            // ... MAIN-EVENTS
            // ... CALCULATIONS
        }

        public class T_TABNAME1
        {
            // EVERYTHING FOR TAB1 HERE
            // ACCESS TO ALL CONTROLS FROM TAB1 ??
        }

        public class T_TABNAME2
        {
            // EVERYTHING FOR TAB2 HERE
            // ACCESS TO ALL CONTROLS FROM TAB2 ??
        }

        public class T_TABNAME3
        {
            // EVERYTHING FOR TAB3 HERE
            // ACCESS TO ALL CONTROLS FROM TAB3 ??
        }
    }

确定是新文件,而不是单个文件。这样我可以让我的代码更具可读性。唯一的问题是如何访问每个选项卡上的所有控件。我知道我通常可以使用属性来设置标签文本之类的东西。但是列表视图、组合框、按钮状态等呢?

正如我所说:第一个大问题是这是否有意义。如果没有,是否有其他想法如何为标签获取自己的区域?

如果是,那么问题将是:如何访问我对选项卡的所有控件?你可以猜到我们不是在谈论 2 或 3 个控件。它大约是 20-30。

感谢这里的每一个帮助,非常感谢。

【问题讨论】:

  • 在每个选项卡上放置一个 UserControl。
  • 天哪,这解决了一切。 Havnt 了解用户控件。我想过人们在完全不同的环境中谈论用户控件哈哈。我应该要求您将其放入答案中还是很抱歉发布此问题并将其删除?
  • 好的,我会把它作为答案发布...

标签: c# winforms oop tabcontrol


【解决方案1】:

在每个选项卡上放置一个用户控件。

【讨论】:

  • 仅仅因为这看起来很简单:我对用户控件一无所知。所以这个答案对我来说真的很有价值。谢谢。
猜你喜欢
  • 2010-12-08
  • 1970-01-01
  • 2012-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多