C# 怎么在form1中设置form2的textbox.Text 属性

来源:百度知道 编辑:UC知道 时间:2024/09/20 20:52:32
我在Form1中写Form2.textBox1.Text = xxxxxxxxx

可在编译时却报错说“Form2.textBox1.Text不可访问,因为它受保护级别限制 ”

一般是使用委托
还有个你可以把Form2.textBox1的Modifiers设为Public

并且你也不能这样调用,要这样
比如你实例化Form2的时候,对象名叫frm2
就是Form2 frm2 = new Form2()
调用就是frm2.textBox1.Text = XXXX;

form2设置public权限看看

把Form2.textBox1的Modifiers设为Public

传值过去设置吧

可以这么做,如果两个窗体是在同一个命名空间下:

定义一个代理,注意这个代理是全局的:
public delegate void MyInvoke(string Item1,string Item2,string Item3);

//在窗体From2中有这么一个回调函数,用于在ListView里添加一个新项的:
private void UpdateListView(string Item1,string Item2,string Item3)
{
ListView1.Items.Add(Item1);
ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Item2);
ListView1.Items[ListView1.Items.Count - 1].SubItems.Add(Item3);
}

//比如说点击Form2的一个按钮弹出Form1进行录入,在点击按钮的事件下:
//把委托传过去
Form1 frmEdit=new Form1(new MyInvoke(UpdateListView));
frmEdit.ShowDialog(this);