110,538
社区成员
发帖
与我相关
我的任务
分享
public partial class Form1 : Form
{
private List<Form2> d = new List<Form2>();
public Form1()
{
DoSomething += new new FormHandle(DoReMove);[/
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2(this);
d.Add(frm);
frm.Show();
}
private void DoReMove(Form2 frm)
{
this.d.Remove(frm);
}
}
public delegate void FormHandle(Form2 frm);
public partial class Form2 : Form
{
private Form1 m_Form1;
public static event FormHandle DoSomething;
private void OnFormHandle(Form2 frm)
{
DoSomething(frm);
}
public Form2(Form1 frm)
{
m_Form1 = frm; InitializeComponent();
DoSomething += new FormHandle(this.m_Form1.DoReMove);
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
this.OnFormHandle(this);
}
}
public partial class Form1 : Form
{
private List<Form2> d = new List<Form2>();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2(this);
d.Add(frm);
frm.Show();
}
public void DoReMove(Form2 frm)
{
this.d.Remove(frm);
}
}
public delegate void FormHandle(Form2 frm);
public partial class Form2 : Form
{
private Form1 m_Form1;
public event FormHandle DoSomething;
private void OnFormHandle(Form2 frm)
{
DoSomething(frm);
}
public Form2(Form1 frm)
{
m_Form1 = frm;
InitializeComponent();
DoSomething += new FormHandle(this.m_Form1.DoReMove);
}
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
this.OnFormHandle(this);
}
}
namespace WindowsApplication25
{
public partial class Form1 : Form
{
public static List<string> d = new List<string>();
public Form1()
{
InitializeComponent();
new Form2().ShowDialog(this);
MessageBox.Show(d[0]);
}
}
}
namespace WindowsApplication25
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
// this.Owner.GetType().GetMethod("Add").Invoke(this.Owner, null); // 调用 Form1 的 Public void Add() 方法
// this.Owner.GetType().GetMethod("Remove").Invoke(this.Owner, null); // 调用 Form1 的 Public void Remove() 方法
List<string> d = null;
d=(List<string>)this.Owner.GetType().GetField("d").GetValue(d);
d.Add("aaa");
Close(); // 关闭form2
}
}
}
namespace WindowsApplication25
{
public partial class Form1 : Form
{
List<string> d = new List<string>();
public Form1()
{
InitializeComponent();
new Form2().ShowDialog(this);
}
public void Add()
{
MessageBox.Show("Add");
}
public void Remove()
{
MessageBox.Show("Remove");
}
}
}
namespace WindowsApplication25
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.Owner.GetType().GetMethod("Add").Invoke(this.Owner, null); // 调用 Form1 的 Public void Add() 方法
this.Owner.GetType().GetMethod("Remove").Invoke(this.Owner, null); // 调用 Form1 的 Public void Remove() 方法
}
}
}