我没接触过C/S的东西
对参数及属性的传递很陌生假设有好多个form
form1,form2,form3,form4...我想在form1 中操作其他的form中的textbox等空间的属性,怎么办?
我能在form1中这样写:
操作from2中的控件属性
(findform("form2") as form2).textbox1.text="Hi";
读取from2中的控件属性
this.textbox.text=(findform("form2") as form2).textbox1.text;
上面2种方法可以么?有类似findform的方法么?
对参数及属性的传递很陌生假设有好多个form
form1,form2,form3,form4...我想在form1 中操作其他的form中的textbox等空间的属性,怎么办?
我能在form1中这样写:
操作from2中的控件属性
(findform("form2") as form2).textbox1.text="Hi";
读取from2中的控件属性
this.textbox.text=(findform("form2") as form2).textbox1.text;
上面2种方法可以么?有类似findform的方法么?
里面new 了2个窗体form from1=new from();
form form2=new form();
form1.show();
form2.show();2个新form中都有textbox1这个控件\
我在form1中怎么操作和访问from2的textbox1?
form2 f2=null;
form3 f3=null;
form4 f4=null;然后在方法里即可以操作其他的form中的textbox等空间的属性(必须保证textbox的属性是public而不是private)
f2.show();
from2里写的代码
private TextBox textBox1 = new TextBox()public frmCgjh(TextBox textBox1)
{
InitializeComponent();
this.textBox1 = textBox1 ;
}这样就可以操作from1里的textBox1了
用属性就可以了
在form1里定义属性
public string ProductType
{
get
{
return text1.text;
}
set
{
text1.text = value;
}
}其他窗体访问此属性
form1 f1=new form1();
f1.ProductType
form2中 form1 f=new form1(); f.button1.text="";
这样就可以访问了 ok
我用location解决了现在还有个问题,假如我不断的new form1,都是在同一个位置叠着,我怎么让先new的在前面显示?当然我的所有必须凌驾于其他软件的前面
不要搞个,new一下 就到桌面的最后~~~~
rf.Show();
private Form1 mf;
另一个窗体
public Form2()
{
InitializeComponent();
}
复制一份 public Form2(Form1 fmm)
{
mf = fmm;
InitializeComponent();
}
this.Left = fmm.Left;
我new了很多个窗体出来,我想让最早new出来的最前面显示,后面new出来的在后面显示
在form1中
public string f;
form2中
form1 f1=new form1();
f1.f=this.txttest.Text;
private Form2 mf;
mf = new Form2(this);
mf.Show();
在Form2窗口中增加一个构造函数
public Form2()
{
InitializeComponent();
}
public Form1 f1
public Form2(Form1 fm1)
{
f1 = fm1;
InitializeComponent();
}再把Form1中需要在其他窗口中访问的控件的访问权限改成public型,然后就可以了