c#中多次调用同一个窗体怎么实现 是这样的,我创建了一个form3这个是提供门店名称选择的,我其他的form1,form2,form4,form5,都要调用form3来选择部门,并且把选出来的数据传值给调用他的窗体,,就是不知道怎么处理分别调用并且传值请大侠们帮帮忙 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 调用时候直接NEW出一个新的form3窗体,并显示而至于传值 可以在调用的窗体设置静态变量,然后被调用窗体改变其值就可也可以再被调用窗体中设置属性,然后供调用窗体调用 form3 f3=new form3()f3.ShowDialog()可以调用打开form3建个变量 public static string mendianname=xx;xx是你选择的门店在其他窗口就可以用mendianname来赋值了 一楼的加上我说的已经很清楚了,何况我把部分代码都写出来了,说的这么明白了你还不会写吗,非要copy么 每次调用时,new一下form3就可以了。把要传递的值作为form3的属性传递即可。 闲的没事干,来给你代码 public partial class Form2 : Form//这就是你的form3 { public delegate void afterselectdel(object sender, selectedEventArgs e); public event afterselectdel afterselected; public Form2() { InitializeComponent(); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Form2_FormClosed); } public class selectedEventArgs:EventArgs { private string _value; public selectedEventArgs(string value) { _value = value; } public string myValue { get { return _value; } set { _value = value; } } } private void Form2_FormClosed(object sender, FormClosedEventArgs e)//窗口关闭引发afterselected事件 { if (this.afterselected != null) this.afterselected(this, new selectedEventArgs(this.comboBox1.SelectedText)); } }调用方: private void button3_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.afterselected += new Form2.afterselectdel(f2_afterselected); f2.Show(); } void f2_afterselected(object sender, Form2.selectedEventArgs e) { MessageBox.Show(e.myValue); } public partial class Form2 : Form//这就是你的form3,就是用来供其他窗口选择数据用的 { public delegate void afterselectdel(object sender, selectedEventArgs e); public event afterselectdel afterselected; public Form2() { InitializeComponent(); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Form2_FormClosed); } public class selectedEventArgs:EventArgs//自定义一个事件参数类,用来传递事件发生时感兴趣的信息 { private string _value; public selectedEventArgs(string value) { _value = value; } public string myValue { get { return _value; } set { _value = value; } } } private void Form2_FormClosed(object sender, FormClosedEventArgs e)//窗口关闭引发afterselected事件,当然也可以放在其他事件处理程序里面,根据需求改 { if (this.afterselected != null) this.afterselected(this, new selectedEventArgs(this.comboBox1.SelectedText)); } } private void button3_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.afterselected += new Form2.afterselectdel(f2_afterselected);//所有需要回传值的窗口都实例化Form2并注册afterselected事件 f2.Show(); } void f2_afterselected(object sender, Form2.selectedEventArgs e) { MessageBox.Show(e.myValue);//e.myValue就是Form3的Combobox选中的值,也可以通过修改selectedEventArgs类来添加想回传的数据 } 在你的form3 中定义一个公有的静态变量保存你需要传回去的信息比如 public static string str = "需要传回去的数据";然后在form1,form2,form4,form5中就可以用form3.str来访问传回来的值了使用这样form3 f3=new form3()f3.ShowDialog()可以调用打开form3 http://blog.csdn.net/chenpeng0118/article/details/6858953窗体间传值,可以看看,我一直这样用。 我用了你的方法,可是不能自动调用那个.str。怎么打不出来啊!!! 关于listview排序的问题 C# 界面上一张,下一张,末张代码。 winform传值时,"+"成了空格,急 C#写的C/S程序 点击按钮如何调用服务器上的网页呢! 请问如何在打开其他程序后,能切换到该程序界面,像alt+tab那样 如何打包web应用程序啊??请大虾指点一下 路过的大神们进来看看帮帮我吧 [ 100分!求服务器压力的解决方案 在哪可以下载video for window(VFW)开发包啊 datalist 数据源绑定 表头竖向排列 问一个小码农很伤心的问题 怎么调用系统的查找窗体
f3.ShowDialog()
可以调用打开form3
建个变量 public static string mendianname=xx;
xx是你选择的门店
在其他窗口就可以用mendianname来赋值了
{ public delegate void afterselectdel(object sender, selectedEventArgs e);
public event afterselectdel afterselected;
public Form2()
{
InitializeComponent();
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Form2_FormClosed);
} public class selectedEventArgs:EventArgs
{
private string _value; public selectedEventArgs(string value)
{
_value = value;
}
public string myValue
{
get { return _value; }
set { _value = value; }
}
} private void Form2_FormClosed(object sender, FormClosedEventArgs e)//窗口关闭引发afterselected事件
{
if (this.afterselected != null)
this.afterselected(this, new selectedEventArgs(this.comboBox1.SelectedText));
}
}
调用方: private void button3_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.afterselected += new Form2.afterselectdel(f2_afterselected);
f2.Show();
} void f2_afterselected(object sender, Form2.selectedEventArgs e)
{
MessageBox.Show(e.myValue);
}
public partial class Form2 : Form//这就是你的form3,就是用来供其他窗口选择数据用的
{ public delegate void afterselectdel(object sender, selectedEventArgs e);
public event afterselectdel afterselected;
public Form2()
{
InitializeComponent();
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Form2_FormClosed);
} public class selectedEventArgs:EventArgs//自定义一个事件参数类,用来传递事件发生时感兴趣的信息
{
private string _value; public selectedEventArgs(string value)
{
_value = value;
}
public string myValue
{
get { return _value; }
set { _value = value; }
}
} private void Form2_FormClosed(object sender, FormClosedEventArgs e)//窗口关闭引发afterselected事件,当然也可以放在其他事件处理程序里面,根据需求改
{
if (this.afterselected != null)
this.afterselected(this, new selectedEventArgs(this.comboBox1.SelectedText));
}
} private void button3_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.afterselected += new Form2.afterselectdel(f2_afterselected);//所有需要回传值的窗口都实例化Form2并注册afterselected事件
f2.Show();
} void f2_afterselected(object sender, Form2.selectedEventArgs e)
{
MessageBox.Show(e.myValue);//e.myValue就是Form3的Combobox选中的值,也可以通过修改selectedEventArgs类来添加想回传的数据
}
比如 public static string str = "需要传回去的数据";
然后在form1,form2,form4,form5中就可以用
form3.str来访问传回来的值了使用这样
form3 f3=new form3()
f3.ShowDialog()
可以调用打开form3
我用了你的方法,可是不能自动调用那个.str。怎么打不出来啊!!!