比如form1里有一个textbox1, form2里有个textbox2,我写了个:
form2 f=new form2();
textbox1.text=textbox2.text;调试错误是,无权访问f.textbox2,.....受保护。
这是怎么回事?
form2 f=new form2();
textbox1.text=textbox2.text;调试错误是,无权访问f.textbox2,.....受保护。
这是怎么回事?
form2 f=new form2(参数1,参数2);
窗口间传值以及控件互操作,都没有问题了.
定义一个属性 string类型的public string Strtext
{get;
set;
}
strtext = textbox2.text;
form2 f=new form2();
textbox1.text = f.strtext;
{
public Form3()
{
InitializeComponent();
Form4 f4 = new Form4(this.label1.Text );
f4.Show();
}
}
public partial class Form4 : Form
{
public Form4(string text)
{
InitializeComponent();
label1.Text = text;
}
}
Form2里的textBox1新建的时候默认属性是private,
解决方法:
1.可以在Form2上选定textBox1控件,然后把右边的属性框里的Modifiers属性值改为public
2.也可以在右边资源管理器窗口中点开Form2.cs下的Form2.designer.cs,在里面找到定义textBox1控件的地方,把它前面的private改成public即可够详细了吧~
form2 f2=new form2();
textbox1.text=f2.textbox2.text;
如有问题,我可以给你写个最简单的例子程序。
建议用属性,get(),set()方法