C#如何在按钮事件里面定义函数?

2025-02-26 12:49:42
推荐回答(5个)
回答1:

不知道楼主用得是不是C# 3.0 以上版本,如果是,可以使用Lambda 表达式来实现
delegate void Method(string a, string b);
Method run;
private void Button_Click(object sender, RoutedEventArgs e)
{
string para = "123"; //事件内的变量,可以在方法里访问
run = (a, b) => { para = a + b; }; //{}花括号内为方法体,()内的是方法的参数
run("string a", "string b"); //方法运行后,para的值为string astring b
}
希望有帮助

回答2:

在Form1里 把你需要的触发的那个按钮的单击事件定义为Public 即可直接调用

比如原来是
Private Sub Command1_Click()
MsgBox "ok"
End Sub

就改成

Public Sub Command1_Click()
MsgBox "ok"
End Sub

然后再在Form2里 使用Call Form1.Command1_Click 即可

回答3:

直接把要实现的功能代码写在事件里面(就是把函数的签名去掉后把代码写在事件里)例如:
private void Button1_Click(object sender, RoutedEventArgs e)
{
//其他代码
int Sum;
int[] yy = {1,2,3,4,5,6,7,8,9,10 };
for(int i = 0; i < yy.Length ; ++ i) Sum += yy[i] ;
textBox1.Text=Sum.ToString();
//其他代码
}

回答4:

就是直接写事件名就行了,按你的举例,就是xxx(参数1,参数2),直接引用啊
private void Button_Click(object sender, RoutedEventArgs e)
{
//直接引用就行了
xxx(参数1,参数2);
}

回答5:

搜索匿名方法和lambada表达式,可以在一个函数内部声明一个匿名方法,而且只能在该函数中调用,C#下不支持像java那样在一个函数内部显式声明一个函数。