我们如何使用事件和委托模型将输出从第一类中的方法传递到另一个类?

时间:2017-02-22 09:14:04

标签: c# winforms events delegates

这是我的第一个文件,form1.cs:

build.xml

这是我的第二个文件class1.cs:

<javac srcdir="${src.java.dir}" destdir="${target.build.dir}" includeantruntime="true" source="${source}" target="${target}" debug="true" debuglevel="lines,vars,source" classpathref="main.classpath" fork="true" memoryinitialsize="512m" memorymaximumsize="512m" />

这是我的表单设计:

enter image description here

现在当前点击按钮,事件在form1中触发。

我需要的是在class1.cs中按钮单击表单form1.cs上触发事件,输出显示在form1的文本框中。

1 个答案:

答案 0 :(得分:0)

如果你必须订阅来自另一个类的事件,并在form1类中显示结果,你可以试试这个:

public interface MyItemClickListener {
void onItemClick(int position); }

您可以在class1中传递form1的实例以注册其事件。此外,您不应该简单地调用一个事件。您应该在form1按钮上单击call all subscribers of event。不要忘记在循环中的捕获中复制迭代器,以避免在class1循环中incorrect operations