窗体传值 不是一般问题 我的两个窗体同时都打开啦 我在一个窗体中选中一个值然后这个窗体点击确定消失 另外一个窗体显示我选中的这个值 如何解决呀各位 好心人 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //Form1 中声明一个共有字段或属性,如GetData//这是Form1中打开Form2的代码private void GetValue() { Form2 fm = new Form2(this); fm.Show();}//修改Form2的构造函数,传入Form1,//Form2中关闭的时候,设置值。public Form2(Form1 fm1){/、……FM1 = fm1;}private Form1 FM1;private void btnClose_Click(object sender,EventHandler e) { if(FM1 != null) FM1.GetData = "你选择的内容"; this.Close();} 通过公共静态类进行传值; 通过绑定事件进行传值; 使用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(); } } 最直接的方法就是...来Q我吧..QQ免费解答.342067627嘿嘿.. 我找过类似的方法,你看看我的这个例子.添加2个窗体FORM1 FORM2。FORM1里头添加一个按钮bottom1和一个commbox1,bottom1用来控制你说的隐藏该主窗体,在FORM2里面显示出你选的值,combobox1用来选择你要的值。在FORM2里头添加一个combox1用来接收你选的值的显示。主要代码:FORM1里头:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace 窗体传值{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private List<string> objList; public List<string> ObjList { get { return objList; } set { objList = value; } } private void Form1_Load(object sender, EventArgs e) { objList = new List<string>(); objList.Add("saber"); objList.Add("maylee"); //楼主这里可以自己动态添加选择项 comboBox1.DataSource = objList; } private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(); frm.Owner = this; frm.Show(); this.Hide(); } }}Form2里头:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace 窗体传值{ public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { Form1 frm; frm = (Form1)this.Owner; comboBox1.DataSource = frm.ObjList; } }}这样也能传值成功,可以把窗体1里面的Combox值传到窗体2里面的COMBOX里头,这样你可以在form2里面选择你要的东西,呵呵,换了种思路,看你用得上么。以上是全部代码,复制运行即可。 //Form1 中声明一个共有字段或属性,如GetData//这是Form1中打开Form2的代码private void GetValue() { Form2 fm = new Form2(this); fm.Show();}//修改Form2的构造函数,传入Form1,//Form2中关闭的时候,设置值。public Form2(Form1 fm1){/、……FM1 = fm1;}private Form1 FM1;private void btnClose_Click(object sender,EventHandler e) { if(FM1 != null) FM1.GetData = "你选择的内容"; this.Close();} 通过公共静态类进行传值; 通过绑定事件进行传值; 使用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(); } } 关于directshow提取视频帧图像的问题? vs2008 水晶报表打印 如何设置打印高度,达到打印高度后换纸 c#多线程问题 using System.Drawing出错 [winforms]: 处理从扫描仪扫描进来的图片 关于接口的小问题 高分求助,关于文件操作类 int型方法的返回值问题 C# Hide 及Show 最后50分求高手解救:C# 2.0 ftp上传下载,遇到(基础连接已经关闭: 接收时发生错误。) 解决了就给分呀! 现在开发c#大家都用vs2010吗? 如何通过文件名获得一个Excel文件已经打开?
//这是Form1中打开Form2的代码
private void GetValue() {
Form2 fm = new Form2(this);
fm.Show();
}//修改Form2的构造函数,传入Form1,
//Form2中关闭的时候,设置值。
public Form2(Form1 fm1){
/、……
FM1 = fm1;
}
private Form1 FM1;
private void btnClose_Click(object sender,EventHandler e) {
if(FM1 != null)
FM1.GetData = "你选择的内容";
this.Close();
}
通过绑定事件进行传值;
使用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();
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace 窗体传值
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private List<string> objList; public List<string> ObjList
{
get { return objList; }
set { objList = value; }
}
private void Form1_Load(object sender, EventArgs e)
{
objList = new List<string>();
objList.Add("saber");
objList.Add("maylee");
//楼主这里可以自己动态添加选择项
comboBox1.DataSource = objList;
} private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.Owner = this;
frm.Show();
this.Hide(); }
}
}
Form2里头:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace 窗体传值
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
} private void Form2_Load(object sender, EventArgs e)
{
Form1 frm;
frm = (Form1)this.Owner;
comboBox1.DataSource = frm.ObjList;
}
}
}
这样也能传值成功,可以把窗体1里面的Combox值传到窗体2里面的COMBOX里头,这样你可以在form2里面选择你要的东西,呵呵,换了种思路,看你用得上么。以上是全部代码,复制运行即可。
//这是Form1中打开Form2的代码
private void GetValue() {
Form2 fm = new Form2(this);
fm.Show();
}//修改Form2的构造函数,传入Form1,
//Form2中关闭的时候,设置值。
public Form2(Form1 fm1){
/、……
FM1 = fm1;
}
private Form1 FM1;
private void btnClose_Click(object sender,EventHandler e) {
if(FM1 != null)
FM1.GetData = "你选择的内容";
this.Close();
}
通过绑定事件进行传值;
使用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();
}
}