// 这个是子窗体
public
partial
class
Form2 : Form
{
public
Form2()
{
InitializeComponent();
}
// 申明委托,与父窗体方法类型相同
public
delegate
string
TestFunDelegate(
int
a);
// 用来接收父窗体方法的委托变量
public
TestFunDelegate testFunDelegate;
private
void
button1_Click(
object
sender, EventArgs e)
{
if
(testFunDelegate !=
null
)
{
// 调用方法
MessageBox.Show(testFunDelegate(2));
}
}
}
// 父窗体的内容
private
void
MainForm_Load(
object
sender, EventArgs e)
{
Form2 frm2 =
new
Form2();
frm2.testFunDelegate = TestFun;
//父窗体的方法传给子窗体
frm2.Show();
}
// 父窗体的方法
string
TestFun(
int
a)
{
return
"我是主窗体方法"
;
}
转:https://zhidao.baidu.com/question/361547541852885332.html