在函数中使用'custom'参数,用于条目小部件(GTK#)

时间:2014-07-28 11:02:00

标签: c# monodevelop gtk#

是否有一种方法可以将'自定义'参数与在条目小部件中的值更改时使用的函数一起使用。

基本功能是:

    public void(object sender, EventArgs args){
        Entry ent1 = (Entry)sender;
    }

我尝试了什么:

    public void onChange(object sender, EventArgs args, String name){
        Entry ent1 = (Entry)sender;
    }

但它会运行,因为当我调用函数时它是:     entry1 + = onChange(“testname”);

只有在需要三个时才将一个参数传递给函数。 我问的是如何使用“自定义”参数,如'name',仍然传递'sender'和'args'的值?

1 个答案:

答案 0 :(得分:1)

您必须创建一个包含传递该额外参数的代码的委托。

您应该可以使用以下语法执行此操作:

entry1 += (s, e) => onChange(s, e, "testname");

但是,这将使您无法取消订阅该事件。如果需要,您必须存储代理:

ChangeEventHandler onchange = (s, e) => onChange(s, e, "testname");
entry1 += onchange;
...
entry1 -= onchange;