C# 将多个小部件绑定到同一处理程序GTK#

C# 将多个小部件绑定到同一处理程序GTK#,c#,mono,gtk,C#,Mono,Gtk,我有多个按钮,当我点击该按钮时,将继续相同的过程。。 有什么想法可以实现吗?提前感谢。在Gtk的网站上,我发现了这个示例,展示了如何将信号绑定到按钮: 我假设对多个按钮执行相同的操作将允许您将所有按钮的单击信号绑定到同一进程 现在,为了判断触发事件的按钮,可以查看传递给回调函数的对象: static void Window_Delete (object obj, DeleteEventArgs args) 在这种情况下,obj。让我知道这是否有效,我很好奇!我没有安装Gtk 对于Gtk+: 使

我有多个按钮,当我点击该按钮时,将继续相同的过程。。 有什么想法可以实现吗?提前感谢。

在Gtk的网站上,我发现了这个示例,展示了如何将信号绑定到按钮:

我假设对多个按钮执行相同的操作将允许您将所有按钮的单击信号绑定到同一进程

现在,为了判断触发事件的按钮,可以查看传递给回调函数的对象:

static void Window_Delete (object obj, DeleteEventArgs args)
在这种情况下,obj。让我知道这是否有效,我很好奇!我没有安装Gtk

对于Gtk+:

使用g_信号连接功能只需使用相同的功能即可。 g_信号连接(ptr_到_小部件,“信号”,g_回调(函数),空)

如果要使用相同的函数并需要向其传递数据,则需要使用指向需要传递的数据的指针: g_信号连接(ptr_至_小部件,“信号”、g_回调(函数)、ptr_至_数据)

将多个小部件连接到同一功能没有问题。

在Gtk的站点上,我发现了一个示例,展示了如何将信号绑定到按钮:

我假设对多个按钮执行相同的操作将允许您将所有按钮的单击信号绑定到同一进程

现在,为了判断触发事件的按钮,可以查看传递给回调函数的对象:

static void Window_Delete (object obj, DeleteEventArgs args)
在这种情况下,obj。让我知道这是否有效,我很好奇!我没有安装Gtk

对于Gtk+:

使用g_信号连接功能只需使用相同的功能即可。 g_信号连接(ptr_到_小部件,“信号”,g_回调(函数),空)

如果要使用相同的函数并需要向其传递数据,则需要使用指向需要传递的数据的指针: g_信号连接(ptr_至_小部件,“信号”、g_回调(函数)、ptr_至_数据)


将多个小部件连接到同一个函数没有问题。

只需使用相同的回调函数即可。第一个参数(至少在C中)将告诉您单击了哪个按钮。只需使用相同的回调函数。第一个参数(至少在C中)将告诉您单击了哪个按钮。正在寻找类似“GetName”或其他方法,但尚未找到。我需要程序集吗?看起来按钮没有name属性,您是说label属性吗?伙计,我刚找到解决办法。。使用
按钮clickedButton=发送者作为按钮;如果(clickedButton.Name==“Button1”{…}
那么,我需要一个方法来捕获触发事件的按钮的Name属性。正在查找类似“GetName”的方法或者其他,但还没有找到。我需要程序集吗?看起来按钮没有name属性,你是说label属性吗?伙计,我刚刚找到了解决方案..使用
Button clickedButton=sender as Button;if(clickedButton.name==“Button1”{…}