c#中 一个窗口中需要使用另一个窗口中的控件名称

假设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();
        } 

你可能感兴趣的:(c#,c#)