c# - 将方法传递给新表单的控件
问题描述
所以我有两种形式:Form1
和Form2
在Form1
我有这个代码:
pubilc class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void Button1_Click(object sender, EventArgs e)
{
Form2 newForm = new Form2(); //Here i want to pass MyFunction
}
public void MyFunction()
{
MessageBox.Show("This is passed function from " + this.Text);
}
}
我Form2
有这个:
public class Form2 : Form
{
public Form2() //Here i want to receive Form1.MyFunction
{
InitializeComponent();
this.Button1.Click += new System.EventHandler(passedFunction);
}
}
在上面的代码中,您可以明白我的意思。拥有带有控件的表单,在创建该表单时,我将向其分配具有传递函数的事件处理程序。
我没有尝试过任何事情,因为我不知道如何将方法传递给表单。
解决方案
尝试这个:
public class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void Button1_Click(object sender, EventArgs e)
{
Form2 newForm = new Form2(MyFunction); //Here i want to pass MyFunction
}
public void MyFunction(object sender, EventArgs e)
{
MessageBox.Show("This is passed function from " + this.Text);
}
}
public class Form2 : Form
{
public Form2(EventHandler passedFunction) //Here i want to receive Form1.MyFunction
{
InitializeComponent();
this.Button1.Click += passedFunction;
}
}
推荐阅读
- go - 如何在golang中递归读取输入
- vue.js - vue/cli 中路由器的基本参数是什么?
- flutter - cocoapods-binary 可以和 Flutter 生成的 Pods 项目一起工作吗?
- javascript - Vue表单验证问题
- c - 我需要在c中将字符串从一个函数传递给另一个函数。我该如何进行这项工作?
- javascript - 在 ReactJS 中进行默认导出时分配 prop 值
- git - 创建 README 后 Git 不允许我推送
- javascript - VUE:如何将多个选项卡绑定到一个组件并让它只激活一次?
- typescript - 打字稿 - 逐步扩展对象的类型
- ios - iOS 以 Data Swift 形式上传图片