一个弹出窗口如何将值付给原来的窗口??? 我有一个Form1里面有个“连接服务器”按钮,点完这个按钮之后,会弹出一个窗体Form2填写服务器的IP地址,填写完成后点击“确定”按钮,Form2里的IP地址就会传递给Form1,这个应该怎么实现??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.cnblogs.com/cosoft/archive/2011/08/08/2130659.html 相当于你的Form1,调用Form2窗体,利用构造函数传递进入你的信息private void button3_Click(object sender, EventArgs e) { Form2 f2 = new Form2("我传递的信息"); f2.SelectedAEventHandle += new DelegateSelectedA(f2_SelectedAEventHandle); f2.Show(); } /// <summary> /// 利用回调显示回传的信息 /// </summary> /// <param name="strMyData"></param> private void f2_SelectedAEventHandle(string strMyData) { MessageBox.Show(strMyData); }相当于你的Form2窗体,该窗体通过构造接受Form1的参数,用户选择后,点击OK按钮通过委托调用Form1的函数,同时传递刚才用户的选择信息给Form1窗体namespace WindowsApplication4{ public partial class Form2 : Form { /// <summary> /// 委托事件 /// </summary> public event DelegateSelectedA SelectedAEventHandle; /// <summary> /// /// </summary> private string m_strMyData = null; /// <summary> /// 构造函数接收参数信息 /// </summary> public Form2(string strMyData) { InitializeComponent(); this.m_strMyData = strMyData; } private void Form2_Load(object sender, EventArgs e) { } /// <summary> /// 当用户点击确定后 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void m_BtnOK_Click(object sender, EventArgs e) { if (this.SelectedAEventHandle != null) { this.SelectedAEventHandle("我回传的数据"); } this.Close(); } } /// <summary> /// 委托 /// </summary> /// <param name="strMyData"></param> public delegate void DelegateSelectedA(string strMyData);} 在 From2 第一已个public全局变量IP 在From2的窗体关闭事件中 给全局变量IP赋值,回到窗体From1是获取From2全局变量IP的值 在 From2 第一定义一个public全局变量IP 在From2的窗体关闭事件中 给全局变量IP赋值,回到窗体From1是获取From2全局变量IP的值 新建一个类,类里申明一个public static string str;的量,点击确定后,把IP地址赋值给str,然后在form1里面取str的值,可以? 除委托外,也可以这样//Form1中Form1的窗口句柄传给Form2 Form2 f = new Form2(this); f.ShowDialog();//Form2中填加构造方法 public Form2(Form1 f) { f.setParms("A"); }//Form1中填加公共的填加IP地址方法 public void setParms(string s) { textBox1.Text = s; } 求c++结构体转c#问题 这个问题怎么解决? 韩文和中文互相转换怎么做啊? 正则表达式的问题 高手不下地狱,谁下地狱?[API在枚举时所需要提供的涵数地址] 多个button_click事件 请问.net是什么? 真晕,C#没有文件目录选择框吗?都什么年代了! 窗体特效能预览,但编译后没有效果 .net做windows程序,弹出消息框的函数在哪,怎么写呢? 就像VB的msgbox类似的?? c#图片相似 为什么最后一行报错: 该报表不包含报表
{
Form2 f2 = new Form2("我传递的信息");
f2.SelectedAEventHandle += new DelegateSelectedA(f2_SelectedAEventHandle);
f2.Show();
} /// <summary>
/// 利用回调显示回传的信息
/// </summary>
/// <param name="strMyData"></param>
private void f2_SelectedAEventHandle(string strMyData)
{
MessageBox.Show(strMyData);
}相当于你的Form2窗体,该窗体通过构造接受Form1的参数,
用户选择后,点击OK按钮通过委托调用Form1的函数,同时传递刚才用户的选择信息给Form1窗体
namespace WindowsApplication4
{
public partial class Form2 : Form
{
/// <summary>
/// 委托事件
/// </summary>
public event DelegateSelectedA SelectedAEventHandle; /// <summary>
///
/// </summary>
private string m_strMyData = null; /// <summary>
/// 构造函数接收参数信息
/// </summary>
public Form2(string strMyData)
{
InitializeComponent(); this.m_strMyData = strMyData;
} private void Form2_Load(object sender, EventArgs e)
{ } /// <summary>
/// 当用户点击确定后
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void m_BtnOK_Click(object sender, EventArgs e)
{
if (this.SelectedAEventHandle != null)
{
this.SelectedAEventHandle("我回传的数据");
}
this.Close();
}
} /// <summary>
/// 委托
/// </summary>
/// <param name="strMyData"></param>
public delegate void DelegateSelectedA(string strMyData);
}
//Form1中Form1的窗口句柄传给Form2
Form2 f = new Form2(this);
f.ShowDialog();//Form2中填加构造方法
public Form2(Form1 f)
{
f.setParms("A");
}//Form1中填加公共的填加IP地址方法
public void setParms(string s)
{
textBox1.Text = s;
}