在c#项目中使用多个表单

时间:2012-09-03 20:07:17

标签: c# winforms visual-studio

  

可能重复:
  Passing Data Between Forms

我是Visual Studio 2012的新手。用c#编程,如果我的问题很简单,请原谅。

我的form1已经非常满了所以我添加了第二个表单(form2) 我有一个单击按钮事件将显示它,但我无法在表单之间传输信息。在文件Form1.cs中,它似乎不知道Form2&反之亦然。

   private void button4_Click(object sender, EventArgs e)
   {
       OneDimLife.Form2 Form = new OneDimLife.Form2();
       Form.Show();
       //int i, j, N, M;
       //N = panel1.Width; M = panel1.Height;

   }

我可能希望将form1上的panel1复制到form2上的panel1(甚至可能是三倍)。

2 个答案:

答案 0 :(得分:3)

不要那样做。 有一个包含数据的类的公共实例。在每个表单上显示您想要的位数。 除了最微不足道的实施之外,你要走的路线总是陷入混乱的混乱状态。

当然,更好的是一个界面,但是你的未来会更进一步。

答案 1 :(得分:1)

以下是您的第一个表单(SimpleForm)上的代码:

        Form2 frm = new Form2();
        frm.SourceForm = this;
        frm.ShowDialog();

第二个代码(Form2):

public partial class Form2 : Form
{
    public SimpleForm SourceForm { get; set; }

    public Form2()
    {
        InitializeComponent();
    }

    private void Form2_Load(object sender, EventArgs e)
    {
        //i'am changing Title property on first form...
        SourceForm.Text = "Changed title on SourceForm";
    }
}