winform c#怎么调用方法
1个回答
展开全部
Form1 调用 Form2的代码,可以利用 委托进行实现,写了一个例子参考一下
//主窗体
public partial class MainForm : Form
{
private Form1 form1 = null;
private Form2 form2 = null;
public MainForm()
{
InitializeComponent();
form1 = new Form1();
form2 = new Form2();
//传递 Form2 的 Fun1 方法 到 Form1 的委托
form1.Function = new Form1.FunctionDelegate(form2.Fun1);
}
private void btnForm1_Click(object sender, EventArgs e)
{
form1.Show();
}
private void btnForm2_Click(object sender, EventArgs e)
{
form2.Show();
}
}
//Form1
public partial class Form1 : Form
{
//定义一个委托类型
//根据需要可以修改是否带参数和返回值
public delegate void FunctionDelegate(string text);
//些委托的值 由 Form2 函数 给出
public FunctionDelegate Function;
public Form1()
{
InitializeComponent();
}
private void btnStart_Click(object sender, EventArgs e)
{
//如果委托不为空时,进行调用
if (Function != null) {
Function("Hello");
}
}
}
//Form2
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
//定义一个由 Form1 调用的方法
//此方法的参数和返回值要和Form2的委托一致
public void Fun1(string text)
{
label1.Text = text;
}
}
//主窗体
public partial class MainForm : Form
{
private Form1 form1 = null;
private Form2 form2 = null;
public MainForm()
{
InitializeComponent();
form1 = new Form1();
form2 = new Form2();
//传递 Form2 的 Fun1 方法 到 Form1 的委托
form1.Function = new Form1.FunctionDelegate(form2.Fun1);
}
private void btnForm1_Click(object sender, EventArgs e)
{
form1.Show();
}
private void btnForm2_Click(object sender, EventArgs e)
{
form2.Show();
}
}
//Form1
public partial class Form1 : Form
{
//定义一个委托类型
//根据需要可以修改是否带参数和返回值
public delegate void FunctionDelegate(string text);
//些委托的值 由 Form2 函数 给出
public FunctionDelegate Function;
public Form1()
{
InitializeComponent();
}
private void btnStart_Click(object sender, EventArgs e)
{
//如果委托不为空时,进行调用
if (Function != null) {
Function("Hello");
}
}
}
//Form2
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
//定义一个由 Form1 调用的方法
//此方法的参数和返回值要和Form2的委托一致
public void Fun1(string text)
{
label1.Text = text;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询