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

2024-11-01 23:54:10
有5个网友回答
网友(1):

首先在form2中新增一个自定义函数
public
form2(string
str)
{

textbox1.text=str;

initializecomponent();
}
然后在form1中调用即可
form2
frm2
=
new
form2(x);
frm2.show();

网友(2):

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

定义一个代理,注意这个代理是全局的:
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);

//在Form1里定义一个属性
private MyInvoke mi=null;

在构造函数中接收这个委托:
public Form1(MyInvoke myInvoke)
{
this.mi=myInvoke;
}

//录入数据后,点击OK按钮,在点击事件下:
//回调
this.mi(this.TextBox1.Text,this.TextBox3.Text,this.TextBox3.Text);
this.Close();//关闭Form1

说明:以上代码没有测试过,但以前这么用过,虽然方法比较麻烦,但用起来不错,有问题再说...

网友(3):

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

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

网友(4):

把Form2.textBox1的Modifiers设为Public

网友(5):

form2设置public权限看看