C#winform,将所有相关类部分化是一个好主意吗?

时间:2012-07-24 17:24:26

标签: c# winforms

我是我的主表格,有两个按钮可以显示其他表格 (每个按钮显示一个新表单) 现在,我的主要表单类名是MyMainForm .. 另外两个形式的类名是:MySubForm1,MySubForm2 问题是我在访问MyMainForm中的一些东西时遇到了一些麻烦 在子表格内..

将它们全部放在一边是个好主意吗?

1 个答案:

答案 0 :(得分:2)

听起来像您希望能够以不同的形式访问表单的私有成员。

如果您希望能够访问其任何成员,则需要将“SubForms”引用到父表单。

其次,您将无法访问“私人”成员。还有两个选项,为您想要的成员创建公共get / set方法,或者将对象的访问修饰符更改为public / internal。

发布更多代码,解释您尝试过的内容以及您尝试实现的目标,并且我可能会指出您正确的方向。

此外,在更直接地回答您的问题时,部分内容与您尝试执行的操作无关,它们用于扩展现有类,同时保持逻辑文件中代码的分离。

public class Main : Form
{
     // assuming here you have three textboxes

     private void button1_Click(eventargs etc)
     {
         OtherForm otherForm = new OtherForm() { Text1 = textbox1.Text, 
                                                 Text2 = textbox2.Text,
                                                 Text3 = textbox3.Text };
         otherForm.Show();
     }

}

public class OtherForm : Form
{
    public String Text1 { get; set; }
    public String Text2 { get; set; }
    public String Text3 { get; set; }
}

使用此设置,您的OtherForm具有文本值的副本,就像创建表单时一样。

通过您的问题和以下评论的声音,这是您在您的方案中所期望的,但我会再说一遍,向我们展示一些代码,我们可以提供更好的帮助。部分肯定不是正确的答案。