两个窗体间的传值问题 我要实现的功能是:点击A窗体的按钮,弹出B窗体,在B窗体中输入值,点确定,在A窗体的ListBox中能显示B窗体中的值.看起来很简单的一个东西,可我就是没做出来,希望大家交交我. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void button1_Click(object sender, EventArgs e){ Form vForm = new Form(); TextBox vTextBox = new TextBox(); Button vButton = new Button(); vTextBox.Parent = vForm; vButton.Parent = vForm; vButton.Text = "确定"; vButton.Top = vTextBox.Height + 2; vButton.DialogResult = DialogResult.OK; if (vForm.ShowDialog() == DialogResult.OK) { if (listBox1.Items.IndexOf(vTextBox.Text) < 0) { listBox1.Items.Add(vTextBox.Text); } }} 我弄了两个窗体frmList和frmUrl,frmList上有lstList(列表),frmUrl上有txtUrl,当我点frmUrl上的确定时执行private void btnOk_Click(object sender, EventArgs e){ frmList fL = new frmList(); fL.Addfile(txtUrl.Text); //this.Close();}如下是frmList的Addfile方法public void Addfile(string file){ this.lstList.Items.Add(file);}为什么txtUrl中的值不能传到lstList中呢? =====================给你 一个 小参考=========================2个窗体 互相传值namespace ReadFile{ public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form3 fm = new Form3(); fm._val = this.textBox1.Text; if (fm.ShowDialog() == DialogResult.OK) { this.textBox1.Text = fm._val; } } }}namespace ReadFile{ public partial class Form3 : Form { // 定义一个属性 public string _val; public string val { get { return _val; } set { _val = value; } } public Form3() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { _val = this.textBox1.Text; this.DialogResult = DialogResult.OK; this.Hide(); } private void Form3_Load(object sender, EventArgs e) { this.textBox1.Text = _val; } }} 你就在new b窗体时把a中的listbox通过构造函数传去啊 有两个办法可以解决这个问题,方法一,将窗体A中控件属性设置为Public共享,在B窗体中直接获得A窗体的值,方法二,在B窗体中重载一个构造函数,参数加入为A窗体的的值,这样在A窗体中打开B窗体时候,只要在new时就可以实现个人认为第二个方法好些 Form1的: namespace WindowsApplication103{ public partial class Form1 : Form { public string TF { set { this.textBox1.Text = value; } } public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) //登陆 { Form2 ff2 = new Form2(this); ff2.Show(); } }}Form2 :namespace WindowsApplication103{ public partial class Form2 : Form { Form1 ff3; public Form2(Form1 ff3) { this.ff3 = ff3; InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { ff3.TF = this.textBox1.Text + this.textBox2.Text; this.Close(); } }} QQ登陆器(C#) datatrid如何统计汇总 打包后如何修改 连接数据库的参数 高手解決下 比較 兩個時間段沒有交集~~ SQL数据库字段用中文名会不会出问题, 求助解开cs模式 装了C#装了之后,我的msdn竟然是空的,还有我的IIS里也是空的,只有一个Internet信息服务!!!不解!!!呜呜~~~~~ 请问如何用c#编网页? 一个datagrid ,里边的customer 列需要弹出一个窗口来选择,并填回去 一个join问题 C#网络编程高手请进 如何学好C#?
{
Form vForm = new Form();
TextBox vTextBox = new TextBox();
Button vButton = new Button();
vTextBox.Parent = vForm;
vButton.Parent = vForm;
vButton.Text = "确定";
vButton.Top = vTextBox.Height + 2;
vButton.DialogResult = DialogResult.OK;
if (vForm.ShowDialog() == DialogResult.OK)
{
if (listBox1.Items.IndexOf(vTextBox.Text) < 0)
{
listBox1.Items.Add(vTextBox.Text);
}
}
}
private void btnOk_Click(object sender, EventArgs e)
{
frmList fL = new frmList();
fL.Addfile(txtUrl.Text);
//this.Close();
}
如下是frmList的Addfile方法
public void Addfile(string file)
{
this.lstList.Items.Add(file);
}
为什么txtUrl中的值不能传到lstList中呢?
2个窗体 互相传值namespace ReadFile
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{ Form3 fm = new Form3();
fm._val = this.textBox1.Text;
if (fm.ShowDialog() == DialogResult.OK)
{
this.textBox1.Text = fm._val;
}
}
}
}namespace ReadFile
{
public partial class Form3 : Form
{
// 定义一个属性
public string _val;
public string val
{
get
{
return _val;
}
set
{
_val = value;
}
}
public Form3()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
_val = this.textBox1.Text;
this.DialogResult = DialogResult.OK;
this.Hide();
} private void Form3_Load(object sender, EventArgs e)
{
this.textBox1.Text = _val;
}
}
}
方法一,将窗体A中控件属性设置为Public共享,在B窗体中直接获得A窗体的值,
方法二,在B窗体中重载一个构造函数,参数加入为A窗体的的值,这样在A窗体中打开B窗体时候,只要在new时就可以实现个人认为第二个方法好些
{
public partial class Form1 : Form
{
public string TF
{
set { this.textBox1.Text = value; }
}
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e) //登陆
{
Form2 ff2 = new Form2(this);
ff2.Show();
}
}
}
Form2 :namespace WindowsApplication103
{
public partial class Form2 : Form
{
Form1 ff3;
public Form2(Form1 ff3)
{
this.ff3 = ff3;
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
ff3.TF = this.textBox1.Text + this.textBox2.Text;
this.Close();
}
}
}