假设Form2使用Form1中的控件变量或某个变量
1、
把form1的变量设成字段并设成static,
这样在form2中可以直接使用 Form1.xxx;
form1中要要你管form2的变量
2,、使用属性 (一下使用TreeView 控件为例)
在Form2中
public TreeView treeView1Name
{
get;
set;
}
使用的函数处
private void button1_Click(object sender, EventArgs e)
{
this.treeView1Name.Nodes.Add(textBox1.Text);
this.Close();
}
在Form1中创建form时 复制属性
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
Fotm2 form2 = new Fotm2();
form2.treeView1Name = treeView1;
form2.ShowDialog();
}
3、使用委托 (form1 中使用form2的变量)
在Form2中声明和定义委托
public delegate void newProject(string name);
public newProject delegate1;
在Form1中赋值委托
project form2 = new project();
form2.delegate1 = button1_Click;
且有方法button1_Click的原型如:
public void button_Click(string e)
{
treeView1.Nodes.Add(e);//新建
}
并最后在Form1中调用委托
private void button1_Click(object sender, EventArgs e)
{
delegate1(textBox1.Text); //条用委托
this.Close();
}