2个窗体传值的问题 有2个窗体,FROM_A和FROM_B,在FROM_A中实例化FROM_B,然后如何在FROM_B中为FROM_A中的一个变量X赋值? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在FROM_B里的构造函数传参数From_B(FROM_A form),把this传进去,然后再对form赋值 1,FROM_A 的X设置为public2, FROM_A:写代码: FROM_B f = new FROM_B(); f.Owner = this; f.Show(); 3,FROM_B:写代码: FROM_A F = (FROM_A)this.Owner; F.X = "AA"; F.Show(); 第1步:在解决方案上添加一个窗体Form2;并添加textBox1、textBox2、Button1,将Button1的标题设为“确定”,DialogResult属性设为“OK”; 第2步:在窗体Form2的类代码中添加两个私有字段: _username、_password,并添加两个public属性:UserName、Password;代码如下: public partial class Form2: Form { private string _username; private string _password; public string UserName { get { return _username; } set { _username=value; } } public string Password { get { return _password; } set { _password=value; } } ..... } 第3步:窗体间相互传值演示 在Form1添加一个的Botton1、一个comboBox1,在Botton1_Click函数中如下代码: private void button1_Click(object sender,EventArgs e) { Form2 myForm2 = new Form2(); myForm2.UserName="Richard";//Form1向Form2传值!!! myForm2.Password="pwd1234"; DialogResult result= myForm2.ShowDialog(); if(result==DialogResult.OK) { comboBox1.ITems.Add(myForm2.UserName);////Form2向Form1传值!!! comboBox2.ITems.Add(myForm2.Password); } } 要充分演示上述功能,还需要对Form2的代码作如下完善: 第1,在Form2_Load中添加如下代码: private Form2_Load(object sender,EventArgs e) { textBox1.Text=_username; textBox2.Text=_password; } 第2,在textBox1、textBox2的textChanged事件中添加如下代码: private void textBox1_TextChanged(object sender,EventArgs e) { this.UserName=textBox1.Text; } private void textBox2_TextChanged(object sender,EventArgs e) { this.Password=textBox2.Text; } 欢迎转载,但请保留出处,本文章转自[华软网] 原文链接:http://www.huarw.com/program/net/c2/200903/1674139.html http://topic.csdn.net/u/20090522/14/5e5a6a18-51a0-48d7-a972-be0b1d7a9a1e.html http://topic.csdn.net/u/20090522/14/5e5a6a18-51a0-48d7-a972-be0b1d7a9a1e.html参考下 还是委托!看这个Using a delegate to pass data between two forms 如果是想改变另个FORM中的一个变量,这说明你要对该变量进行操作,你还是用静态变量好些,public static 声明变量好些。 把formA里面的字段a设为static的类级变量,a="A".在formB里面直接用a="B"就行了~ 首先FROM_A中的X的访问修饰符必须是public然后在实例FROM_B时可以将FROM_A作为参数传给FROM_BFROM_B fb=new FROM_B(this);这样就在FROM_B中访问到X的并给它赋值 还要记住以下的代码Form_A f=null;public Form_B(Form_A fa) { InitializeComponent(); f = fa; }private void Form_B_Load(object sender, EventArgs e) { f.X这里就能访问到X了 } 求助帖有想法实现不了 对象被系列化时,如何在xml文件的元素中加入attriubte? 邵志东 ASP.NET安装部署 例子 1G电子书,看光算你强!(散分) 怎麽把DataSet數據存在緩存裏,隔30分鍾取一次. Splash form的真实实现 如何把用ADO方法存到数据库中的照片,直接写到WEB页面上? c#里能调用delphi写的dll吗? 高分(500)求C#.net论坛和聊天室开发的合作伙伴! 简单ref问题 这种情况会影响效率吗? 关于C#回收托管和非托管资源的问题
FROM_B f = new FROM_B();
f.Owner = this;
f.Show();
3,
FROM_B:写代码:
FROM_A F = (FROM_A)this.Owner;
F.X = "AA";
F.Show();
第2步:在窗体Form2的类代码中添加两个私有字段: _username、_password,并添加两个public属性:UserName、Password;代码如下:
public partial class Form2: Form
{
private string _username;
private string _password;
public string UserName
{
get
{
return _username;
}
set
{
_username=value;
}
}
public string Password
{
get
{
return _password;
}
set
{
_password=value;
}
}
.....
} 第3步:窗体间相互传值演示
在Form1添加一个的Botton1、一个comboBox1,在Botton1_Click函数中如下代码:
private void button1_Click(object sender,EventArgs e)
{
Form2 myForm2 = new Form2();
myForm2.UserName="Richard";//Form1向Form2传值!!!
myForm2.Password="pwd1234";
DialogResult result= myForm2.ShowDialog();
if(result==DialogResult.OK)
{
comboBox1.ITems.Add(myForm2.UserName);////Form2向Form1传值!!!
comboBox2.ITems.Add(myForm2.Password);
}
}
要充分演示上述功能,还需要对Form2的代码作如下完善:
第1,在Form2_Load中添加如下代码:
private Form2_Load(object sender,EventArgs e)
{
textBox1.Text=_username;
textBox2.Text=_password;
}
第2,在textBox1、textBox2的textChanged事件中添加如下代码:
private void textBox1_TextChanged(object sender,EventArgs e)
{
this.UserName=textBox1.Text;
}
private void textBox2_TextChanged(object sender,EventArgs e)
{
this.Password=textBox2.Text;
} 欢迎转载,但请保留出处,本文章转自[华软网] 原文链接:http://www.huarw.com/program/net/c2/200903/1674139.html
看这个Using a delegate to pass data between two forms
变量好些,public static 声明变量好些。
然后在实例FROM_B时可以将FROM_A作为参数传给FROM_B
FROM_B fb=new FROM_B(this);
这样就在FROM_B中访问到X的并给它赋值
Form_A f=null;
public Form_B(Form_A fa)
{
InitializeComponent();
f = fa;
}
private void Form_B_Load(object sender, EventArgs e)
{
f.X这里就能访问到X了
}