C# Panel 中的子窗口 调用主窗口的方法
要在C# Panel中的子窗口中调用主窗口的方法,需要使用委托和事件的概念。
首先,在主窗口中定义一个委托和一个事件,代码如下:
public delegate void MyEventHandler(string message);
public event MyEventHandler MyEvent;
然后,在子窗口中,需要传入主窗口的实例,并在需要调用主窗口方法的地方触发事件,代码如下:
public partial class SubForm : Form
{
private MainForm parentForm;
public SubForm(MainForm parentForm)
{
InitializeComponent();
this.parentForm = parentForm;
}
private void button1_Click(object sender, EventArgs e)
{
parentForm.MyEvent("Hello from sub form!");
}
}
最后,在主窗口中,需要订阅事件并实现委托方法,代码如下:
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
SubForm subForm = new SubForm(this);
MyEvent += new MyEventHandler(MyEventHandlerMethod);
subForm.Show();
}
private void MyEventHandlerMethod(string message)
{
MessageBox.Show(message);
}
}
这样,在子窗口中点击按钮时,就会触发主窗口的MyEvent事件,并调用MyEventHandlerMethod方法,弹出一个消息框显示传入的消息
原文地址: https://www.cveoy.top/t/topic/fFvz 著作权归作者所有。请勿转载和采集!