一种形式的多个类

时间:2011-03-11 16:28:17

标签: c# winforms oop coding-style

我在我的表格中使用了TabControl,这让我很奇怪。现在我只有两个选项卡,我在主窗体的代码中存储了与两个选项卡(按钮处理程序,& c。)相关的过程,所以它看起来像这样:

public partial class MainForm : Form
{
    // ----------TAB1-----------
    tab1SearchButtonCLick() {...}
    tab1AddButtonCLick() {...}
    // ----------TAB2-----------
    tab2EditButtonCLick() {...}
    tab2SearchButtonCLick() {...}
    tab2ClearButtonCLick() {...}
}

现在用这么少的代码来解决这个问题,但未来可能会有一个问题。这是一种可以接受的方式吗?有什么选择?我相信我可以将标签放在他们自己的类中,但我不确定我将如何完全这样做(每个标签中有很多控件,我必须作为参数传递给构造函数)。

2 个答案:

答案 0 :(得分:3)

您应该将每个标签的内容移动到单独的UserControl。

每个UserControl都应该是一个独立的单元,可以从主窗体中获取所需的任何数据,并触发事件以告诉主窗体执行操作。

答案 1 :(得分:0)

标签出于某种原因有事件 - 标签引发事件并且不想处理它。
当您使用选项卡(或其他具有事件的对象)时,您需要编写处理事件的代码。

如果您真的想要,可以将该类编写在单独的文件中,这样您就可以将自己的逻辑保存在单独的文件中。

如果您发现Visual Studio会将Form生成为partial类 那是因为设计代码是在一个单独的文件中生成的 您可以通过在其他文件中将类的其他部分声明为partial来自行完成。

有关partial

this link的更多信息