1.在frm1中声明一个全局变量(如intValue),然后在frm2中实例化frm1(如yourfrm1 frmtest),在frm2中调用frm1的值frmtest.intValue就可以
2.也可以传给构造函数,如在frm1的按钮事件中写: YourFrm2 form2=new YourFrm2(intValue)建议使用第二种
2.也可以传给构造函数,如在frm1的按钮事件中写: YourFrm2 form2=new YourFrm2(intValue)建议使用第二种
调试欢乐多
如果你的form2的类名为form2 那么你的构造函数写成:
form2(int intValue)
{
//.........
}
form1中创建form2的地方加上一句,比如
form2 f2 = new form2();
f2.mf = this;
f2.Show();然后在你的form2需要form1的地方这样写
假设你的form2有一个textbox1,需要显示form1的一个int变量sample
this.Textbox1.Text = mf.sample.ToString();
private int _Num;
public int Num
{
get
{
return _Num;
}
set
{
_Num= value;
}
}
Form1中就可以通过Form2.Num访问了
public class abc
{
public static strValue;
}你需要访问的地方
TextBox1.Text=abc.strValue;
不用担心是什么窗口
private void Button_Clicked(object sender,EventArgs e)
{
Form2 form2 = new Form2();
form2.ShowDialog(this);
//假设你Form2中有一个Button,并且Button的DialogResult属性设置为DialogResult.OK
//点击这个按钮我们取数据
if(form2.DialogResult = DialogResult.OK)
{
//获取form2中的数据,TextBox3和TextBox4声明为public
string form2txt3 = form2.TextBox3.Text;
string form2txt4 = form2.TextBox4.Text;
}
}
//Form1中按钮的点击事件,Form2作为非模式窗口打开
private void Button_Clicked(object sender,EventArgs e)
{
Form2 form2 = new Form2();
form2.Show();
//如果如果是模式窗口获取值如下
//获取form2中的数据,TextBox3和TextBox4声明为public
string form2txt3 = form2.TextBox3.Text;
string form2txt4 = form2.TextBox4.Text;
}
=========================
//在Form2中获取Form1的数据
string form1text1 = ((Form1)this.Owner).TextBox1.Text;
string form1text2 = ((Form1)this.Owner).TextBox2.Text;
//在Form2中修改Form1的数据
((Form1)this.Owner).TextBox1.Text ="修改了Form1中的数据";
另外也可以重写Form2的构造函数,把Form1的引用传进去.
private Form1 parentForm;
public Form2 (Form1 parentForm)
{
this.parentForm = parentForm;
}实例化
Form2 form2 = new Form2(this);
既然有了主窗体的句柄,那什么都有了
public class abc
{
public static strValue;
}
static 不能修改属性值,而那个权限值是登录时赋的值.
请大侠再帮帮忙.