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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何在按钮事件里面定义函数?相关的知识,希望对你有一定的参考价值。

在button1_Click的事件里面写一个函数,public void xxx(string a,string b)直接写进去会不行。用private也不行。一定要在里面写,在事件外面写不能实现我的目的。
public void xxx(string a,string b)是我自定义的一个函数,我想把它写在button事件里面。我想实现的目的很简单啊。。就是在button1_Click的事件里面写一个函数,随便什么都行,该怎样写?
回kangkinglee:方法不行。
回niecong55:我也知道在外面写可以调用进来,但是,我必须在里面写,不想把button事件里面定义的一些变量变成全局变量,而将要自定义的函数中是需要用到那些变量的。

不知道楼主用得是不是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

希望有帮助
参考技术A 在Form1里 把你需要的触发的那个按钮的单击事件定义为Public 即可直接调用

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

就改成

Public Sub Command1_Click()
MsgBox "ok"
End Sub

然后再在Form2里 使用Call Form1.Command1_Click 即可
参考技术B 直接把要实现的功能代码写在事件里面(就是把函数的签名去掉后把代码写在事件里)例如:
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();
//其他代码
参考技术C 就是直接写事件名就行了,按你的举例,就是xxx(参数1,参数2),直接引用啊
private void Button_Click(object sender, RoutedEventArgs e)

//直接引用就行了
xxx(参数1,参数2);
参考技术D 搜索匿名方法和lambada表达式,可以在一个函数内部声明一个匿名方法,而且只能在该函数中调用,C#下不支持像java那样在一个函数内部显式声明一个函数。

请问Winform里面怎么单击按钮来改变窗体背景图片?(C#)

就是想要人性化的选择。
单击一次按钮可以换一次窗体背景图片
注意哦,是改变背景图片!!!不是背景颜色!!!
因为我在网上看到的都是改变背景颜色而不是改变背景图片~~~
所以请哪位高手可以告诉我!!!
拜托了!
谢谢啊~~~~
时间紧张~~~请大侠速速回答~~~

参考技术A 你可以在窗体上加个ImageList控件 加上后该控件出现在窗体设计模式的下面 点一下它 然后看右边的属性 有个属性名为Images 点一下旁边的按钮 往里面加你需要的图片,可连续加图片
然后回到你的按钮事件里 例如:
int i=0;
private void button3_Click(object sender, EventArgs e)//鼠标单击按钮事件

if (i > 2)//图片数
i = 0;
this.BackgroundImage = imageList1.Images[i];
i++;

本回答被提问者采纳
参考技术B button 的click事件响应里写

this.picturebox.image = image1;

以上是关于C#如何在按钮事件里面定义函数?的主要内容,如果未能解决你的问题,请参考以下文章

c#如何使用委托 触发另一个窗体的按钮刷新另一窗体

C#问题...Form2怎么获取Form1的按钮事件!..

Unity 3D 5.0版本以上用C#语言如何编写退出游戏按钮的代码?

C#按钮click事件是如何触发的

如何实现按钮单击事件 C#

C# 如何在一个Datagridview 的 某一个cell里面 绑定一个自定义的combobox