方法多 winform? 1.用备用空间 '生成 dim f1 as new form1 dim f2 as new form2 '互相联系 f2.tag = f1 f1.tag= f2 'f1(form1)中代码 ... me.tag.textbox2.text = "f2中的textbox2" ... 其他方法略
windows : form f1=new form(参数) form2的构造函数里接 aspx : session["参数名字"]=参数; Response.Redirect("页面.aspx?参数名字="+参数); -------------------------------------------------------- 以上我比较常用
http://blog.csdn.net/lzt7/archive/2006/12/13/1441615.aspx
在实例form1或调用方法的时候,将form2的实例传入
2 委托
Form1
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.paraDelegate = this.showpara;
frm.Show();
}
void showpara(string s)
{
label1.Text = s;
} Form2
public ParaTest paraDelegate;
private void button1_Click(object sender, EventArgs e)
{
if (paraDelegate != null)
{
paraDelegate(textBox1.Text);
}
this.Close();
}
winform?
1.用备用空间
'生成
dim f1 as new form1
dim f2 as new form2
'互相联系
f2.tag = f1
f1.tag= f2
'f1(form1)中代码
...
me.tag.textbox2.text = "f2中的textbox2"
...
其他方法略
form f1=new form(参数) form2的构造函数里接
aspx :
session["参数名字"]=参数;
Response.Redirect("页面.aspx?参数名字="+参数);
--------------------------------------------------------
以上我比较常用
public static Form1 MeCurrent;
构造函数时把,MeCurrent设为this
然后把要获得的控件 信息的那个控件设为public
Form2:
同理,同上
和Form2.MeCurrent.控件这样调用
就Ok 了
frm lf =new frm()
lf.name
--------------------------个性签名-------------------------------------
Web技术群
4446448
关注互联网开发和技术
php、jsp、asp、.net、js、ajax……
-----------------------------------------------------------------------
1: 重写构造函数
2: 把控件设为public(默认是private的)
1)如果是一个主窗体与一个副窗体之间传信息,那么可以用构造函数,代码如下:
窗体1:
namespace WindowsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private Form2 aform2; //声明一个FORM2字段
private void button1_Click(object sender, EventArgs e)
{
aform2 = new Form2(this);
//调用重载的FORM2构造函数, 该构造函数设定了form2中的aform1字段为“this”
aform2.label1.Text = "this is set from form1"; //窗体2中lable1设为公用
aform2.Show();
}
}
}
窗体2:namespace WindowsApplication2
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private Form1 aform1; //声明FORM1字段
public Form2(Form1 myform1) //重载一个构造函数
{
InitializeComponent();
this.aform1 = myform1; //通过该构造函数,设定aform1字段值
}
private void button1_Click(object sender, EventArgs e)
{
this.aform1.label1.Text = "this is set from2"; //控制form1 form1.label1设为公用
}
}
}
2)如果是一个主窗体与多个副窗体,则应在主窗体的Designer.cs中实例化副窗体,如这样:
public ShiFeiResolution.VegetableForm vegetableform = new VegetableForm();//注意它们是主窗体的属性!!!
public ShiFeiResolution.XiaoMaiYuMiForm XiaoMaiYuMiform = new XiaoMaiYuMiForm();
public ShiFeiResolution.FruitForm fruitForm = new FruitForm();
这样可在主窗体中直接应运。
3)如果是多个主窗体与一个副窗体之间传递信息,比如说点击任何一个主窗体中的按纽,就会弹出同一个副窗体(是同一个,而不是同样的窗体),就要在主窗体中这样写:
GetSoilInfo getinfo; //相当于一个temp变量
getinfo = (GetSoilInfo)Application.OpenForms["GetSoilInfo"]; if (getinfo == null)
getinfo = new GetSoilInfo();//是否存在,如不存在,则创建
if (checkBox2.Checked == true) getinfo.Show();
else (checkBox2.Checked == false)
getinfo.Hide();这是我最近做一个项目时自己做的,望能帮上你的忙!!!