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

时间:2015-09-03 04:47:38

标签: c# mono gtk

我有多个按钮,当我点击它时将继续相同的过程.. 是否有任何想法实现它?提前谢谢。

1 个答案:

答案 0 :(得分:0)

在Gtk#的网站上,我发现此示例展示了如何将信号绑定到按钮:http://docs.go-mono.com/?link=T:Gtk.Button#

btn.Clicked += new EventHandler (btn_click);
btn2.Clicked += new EventHandler (btn_click);

我认为对多个按钮执行相同的操作会允许您将所有这些按钮的点击信号绑定到同一个进程。

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

static void Window_Delete (object obj, DeleteEventArgs args)

在这种情况下obj。让我知道如果这有效,我很好奇!我没有安装Gtk#。

对于Gtk +:

使用g_signal_connect函数只需使用相同的功能。 g_signal_connect(ptr_to_widget,“signal”,G_CALLBACK(function),NULL)

如果要使用相同的函数并需要将数据传递给它,则需要使用指向您需要传递的数据的指针: g_signal_connect(ptr_to_widget,“signal”,G_CALLBACK(function),ptr_to_data)

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