111,126
社区成员
发帖
与我相关
我的任务
分享
FolderForm fForm = new FolderForm();//form2
fForm.FormClosed += new FormClosedEventHandler(FolderForm_FormClosed);
fForm.ShowDialog();
private void FolderForm_FormClosed(object sender, FormClosedEventArgs e)
{
refreshAllBooks();//update form1
loadDate(table);
}
public class Form2
{
public event DataUpdatedHandler DataUpdated;
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
DataUpdated.Invoke(null);
}
}
public class Form1
{
public void button1_Click(...)
{
Form2 form2 = new Form2();
form2.DataUpdated += DataUpdate;
//show form2
}
public void DataUpdate(object data)
{
//update tree view according to data
}
}
public delegate void DataUpdatedHandler(object data);
public Class Form2
{
public event EventHandler DataUpdated;
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DataUpdated.Invoke(dataObj);
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int i = 0;//i初值为0
private void button1_Click(object sender, EventArgs e)
{
Form2 from2 = new Form2();
from2.ShowDialog(ref i);//Form2里重载了ShowDialog方法,ref参数
label1.Text = i.ToString();//这时可以看到i变成1了
}
} public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public DialogResult ShowDialog(ref int i)//重载后的ShowDialog方法,ref参数
{
i = 1;//修改参数
return ShowDialog();
}
}