C#如何在按钮事件里面定义函数? 30
在button1_Click的事件里面写一个函数,publicvoidxxx(stringa,stringb){}直接写进去会不行。用private也不行。一定要在里面写...
在button1_Click的事件里面写一个函数,public void xxx(string a,string b){}直接写进去会不行。用private也不行。一定要在里面写,在事件外面写不能实现我的目的。
public void xxx(string a,string b){}是我自定义的一个函数,我想把它写在button事件里面。我想实现的目的很简单啊。。就是在button1_Click的事件里面写一个函数,随便什么都行,该怎样写?
回kangkinglee:方法不行。
回niecong55:我也知道在外面写可以调用进来,但是,我必须在里面写,不想把button事件里面定义的一些变量变成全局变量,而将要自定义的函数中是需要用到那些变量的。 展开
public void xxx(string a,string b){}是我自定义的一个函数,我想把它写在button事件里面。我想实现的目的很简单啊。。就是在button1_Click的事件里面写一个函数,随便什么都行,该怎样写?
回kangkinglee:方法不行。
回niecong55:我也知道在外面写可以调用进来,但是,我必须在里面写,不想把button事件里面定义的一些变量变成全局变量,而将要自定义的函数中是需要用到那些变量的。 展开
8个回答
展开全部
不知道楼主用得是不是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
}
希望有帮助
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
}
希望有帮助
展开全部
在Form1里 把你需要的触发的那个按钮的单击事件定义为Public 即可直接调用
比如原来是
Private Sub Command1_Click()
MsgBox "ok"
End Sub
就改成
Public Sub Command1_Click()
MsgBox "ok"
End Sub
然后再在Form2里 使用Call Form1.Command1_Click 即可
比如原来是
Private Sub Command1_Click()
MsgBox "ok"
End Sub
就改成
Public Sub Command1_Click()
MsgBox "ok"
End Sub
然后再在Form2里 使用Call Form1.Command1_Click 即可
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接把要实现的功能代码写在事件里面(就是把函数的签名去掉后把代码写在事件里)例如:
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();
//其他代码
}
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();
//其他代码
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是直接写事件名就行了,按你的举例,就是xxx(参数1,参数2),直接引用啊
private void Button_Click(object sender, RoutedEventArgs e)
{
//直接引用就行了
xxx(参数1,参数2);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
//直接引用就行了
xxx(参数1,参数2);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
搜索匿名方法和lambada表达式,可以在一个函数内部声明一个匿名方法,而且只能在该函数中调用,C#下不支持像java那样在一个函数内部显式声明一个函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询