winform中子窗体如何调用父窗体中的某个方法
父窗体 pForm:父窗体中有一个方法loadwebName(),该方法中引用窗体上的控件用于数据绑定,
子窗体 cForm:我想在子窗体的button事件下调用方法loadwebName().
我在网上查了些资料,文章都是大都是相互转载的,通用方法是设置公共属性(本例应该不能用),在父窗体初始化时候将父窗体传给子窗体(由于窗体间相互调用,不太灵活),然后就是用委托。
求指教,用委托如何实现,或者其它方法也行。
[最优解释]
事件委托。。
public partial class b : Form
{
public delegate void RefreshHandler(int num);
public event RefreshHandler RefreshList;
public b()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (RefreshList != null)
{
RefreshList(Convert.ToInt32( dataGridView1.CurrentRow.Cells[0].Value));
}
}
主窗口的
private void button5_Click(object sender, EventArgs e)
{
Form b = new b();
b.RefreshList += new b.RefreshHandler(a_handleRefresh);
b.ShowDialog();
void a_handleRefresh(int num)
{
//查询操作,那个num就是B窗体中数字。。。
}