【发布时间】:2014-11-29 03:27:56
【问题描述】:
所以在gtk sharp中有这个类:
http://docs.go-mono.com/?link=E%3aGtk.Button.Clicked
它接受 EventHandler 类型的事件。我想使用一个自定义事件处理程序,将字符串传递给它调用的函数。
问题是,我似乎无法将我的 CustomEventHandler 提供给它。即使我在其定义中使用 EventHandler 作为抽象类。
为什么我做不到?我想我遗漏了一些明显的东西......
编辑,我的代码:
public MainWindow () : base (Gtk.WindowType.Toplevel)
{
Button button = new Button ("button");
button.Clicked += new EventHandler(my_function);
this.Add (button);
Build ();
}
static void my_function(object obj, EventArgs args){
//some code
}
我尝试将 new EventHandler 更改为 MyEventHandler(my_function, MyCustomArghs) 但无论我尝试什么组合,总是会出现一些错误。主要与尝试强制转换为 EventHandler 类型有关 - 尽管 MyEventHandler 是 EventHandler 类的子类。
【问题讨论】:
-
请添加一些代码来说明您希望如何订阅
Clicked事件...btn.Clicked += ?? -
我添加了代码以更好地可视化我的意思。
-
您添加的代码对解释您的问题没有多大帮助。您应该展示一个不起作用的代码示例,并详细解释它为什么不起作用(包括任何错误消息的准确引用)。另外,请不要引用外部链接。