利用委托和事件完成窗口间的通信(子窗口输入,主窗口显示,3种方法)
MainForm类代码:
public partial class MainForm : Form { public MainForm() { InitializeComponent(); } //利用委托实现 private void toolStripButton1_Click(object sender, EventArgs e) { AddForm addform = new AddForm(); addform.recorder = this.addItem; addform.ShowDialog(); } //自定义函数 private void addItem(String time, String things, String demo) { ListViewItem lv = new ListViewItem(time); lv.SubItems.Add(things); lv.SubItems.Add(demo); listView1.Items.Add(lv); } //利用委托和事件 private void toolStripButton2_Click(object sender, EventArgs e) { AddForm2 addForm = new AddForm2(); addForm.buttSubmit += addItem; addForm.ShowDialog(); } //利用构造函数 private void toolStripButton3_Click(object sender, EventArgs e) { AddForm3 addForm = new AddForm3(listView1 ); addForm.Show(); } } |
AddForm类--利用委托实现
public partial class AddForm : Form public AddInfo recorder; private String time; private void button1_Click(object sender, EventArgs e) |
AddForm2类--利用委托和事件
public partial class AddForm2 : Form private String time; public AddForm2() private void button1_Click(object sender, EventArgs e) |
AddForm3--利用构造函数
public partial class AddForm3 : Form public AddForm3(ListView lvAdd) private void button1_Click(object sender, EventArgs e) |
MainForm图
AddForm图