菜鸟提问:C#如何在两个编程中如何在两个窗体中传递参数?

smeron 2010-10-12 05:02:50
其中一个窗体(form1)的参数靠checkbox获得,得到的参数传给另一个窗体(form2)。
form1程序如下:


public Form1(string send1)
{

InitializeComponent();

send1=Ddlx1;

}

private void checkBox1_Click(object sender, EventArgs e)
{

Ddlx1 = this.checkBox1.Text.ToString();

}



form 2 中引用了 public Form1(string send1)

public string td1;


private void Form2_Load(object sender, EventArgs e)
{


Form NewForm = new Form1(td1);


}

Form2界面上有button1来触发传递,textBox1来显示传递结果:

private void button1_Click(object sender, EventArgs e)
{

this.textBox1.Text = td1;
}

Form2界面上有一个meunustrip,用来打开界面Form1,如下:

private void 订单选择ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Hide();
Form fm = new manufacture.Form1( );
if (fm.ShowDialog() == DialogResult.OK)
{
this.Show();
}
}




运行划线部分发生错误:“Form1”方法没有采用“0”个参数的重载

请高手指点!
...全文
114 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-10-12
  • 打赏
  • 举报
回复
通过公共静态类进行传值;
通过绑定事件进行传值;
使用Attribute
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);
}
}

public partial class Form2 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form1 frm1 = (Form1)this.Owner;
((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;
this.Close();
}
}
laomengzi 2010-10-12
  • 打赏
  • 举报
回复
参考 http://www.javaeye.com/topic/459320

百度上多呢!
zy6128012 2010-10-12
  • 打赏
  • 举报
回复
Form2中添加新的构造函数,在form1中new一个form2 new的时候new form("你要穿的值")
这个最简单了
Form1 的button按钮这样写:
private void button1_Click(object sender, System.EventArgs e)
{
Form2 temp = new Form2( 9 );
temp.Show();
}

Form2 的构造函数这样写:
public Form2( int i )
{
InitializeComponent();
textBox1.Text = i.ToString();
}
绝代坏坏 2010-10-12
  • 打赏
  • 举报
回复
用委托,事件什么的都行啊。
liuwei2500 2010-10-12
  • 打赏
  • 举报
回复
在form1当中定义一个变量
public string send1;
public Form1()
{

InitializeComponent();
}

private void checkBox1_Click(object sender, EventArgs e)
{

send1= this.checkBox1.Text.ToString();

}

Form NewForm = new Form1(td1);
NewForm.send1得到结果
coderQcoder 2010-10-12
  • 打赏
  • 举报
回复
你可以把在form2类中 建一个form1 NEWNewForm 这样一个成员; 在form2装载的时候让NEW初始化
NewForm = new Form1(td1);
然后再菜单选项选择的时候
this.Hide();
NewForm.Show();
smeron 2010-10-12
  • 打赏
  • 举报
回复
构造函数可以被重载嘛?
jaydawson 2010-10-12
  • 打赏
  • 举报
回复
这个应该比较简单哦,
请参考如下回帖。。
1c632cf5c858.htmlhttp://topic.csdn.net/u/20100202/14/c30c496b-2414-459b-8821-1c632cf5c858.html
dearbinge 2010-10-12
  • 打赏
  • 举报
回复
你看下你的订单处理下面FORM1的构造函数有参数吗?

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧