使用委托在表单之间进行通信

匈牙利人

这将是一个简单的问题。我有两种形式。Form2将一个字符串传递给Form1。然后,Form1在MessageBox中显示输入的字符串。

我在form2中的代码

public delegate void PassData(object o);
public PassData pd;
public Form2()
{
    pd("Hello World");
    InitializeComponent();
}

并在form1中

public Form1()
{
    InitializeComponent();

    var f2 = new Form2();
    f2.pd = Arrive;
    f2.Show();
}

public void Arrive(object o)
{
    MessageBox.Show(o.ToString());
}

问题: System.NullReferenceException类型的未处理异常,在pd("Hello World");我得到它为null的情况下,但为什么会出问题呢?我在Form2的构造函数中传递了一个值。

尤瓦尔·伊茨恰科夫(Yuval Itzchakov)

我在Form2的构造函数中传递了一个值。

不,您在初始化后通过了它Form2Form2调用的构造函数时,您的pd值仍然是null,因此NullReferenceException

这行:

var f2 = new Form2();

使它运行:

public Form2()
{
    pd("Hello World");
    InitializeComponent();
}

您真正想要的是将其作为参数传递给Form2的构造函数:

public Form1()
{
    InitializeComponent();
    var f2 = new Form2(Arrive);
    f2.Show();
}

public Form2(Passdata passData)
{
    pd = passData;
    pd("Hello World");
    InitializeComponent();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果我使用委托在视图控制器之间进行通信,我将承担什么风险?

来自分类Dev

如何在 HTML 表单和 javascript 之间进行通信?

来自分类Dev

使用postMessage进行iframe之间的通信

来自分类Dev

使用Intent在应用之间进行通信

来自分类Dev

使用IOLoop进行对象之间的通信

来自分类Dev

使用ngrx存储vs @Input进行通信之间的简单通信

来自分类Dev

片段之间进行通信

来自分类Dev

如何使用界面在两个活动之间进行通信

来自分类Dev

是否可以在不同框架之间使用NSNotificationCenter进行通信?

来自分类Dev

Teensy Bord与系统之间使用Python进行的串行通信

来自分类Dev

使用ReactJS在两个组件之间进行通信

来自分类Dev

如何使用接口在片段和活动之间进行通信?

来自分类Dev

使用代码在Kubernetes的Pod之间进行内部通信

来自分类Dev

使用短信在两个设备之间进行通信

来自分类Dev

使用短信在2个设备之间进行通信

来自分类Dev

使用DNS名称在两个VM之间进行通信

来自分类Dev

使用 Azure 服务总线在 2 个组织之间进行通信

来自分类Dev

在ViewModel与事件之间进行通信

来自分类Dev

在Java包之间进行通信

来自分类Dev

在Java包之间进行通信

来自分类Dev

接口在类之间进行通信

来自分类Dev

使用NSURLSession委托进行授权

来自分类Dev

使用异常进行通信

来自分类Dev

不使用控制器之间的SharedService时如何在控制器之间进行通信?

来自分类Dev

在表单加载之间使用相同的句柄进行控制

来自分类Dev

在表单加载之间使用相同的句柄进行控制

来自分类Dev

与UIWebview表单弹出窗口进行通信?

来自分类Dev

使用由Lambda函数支持的API网关,该函数使用SNS在微服务之间进行通信

来自分类Dev

在不同子树中的注释之间进行通信

Related 相关文章

  1. 1

    如果我使用委托在视图控制器之间进行通信,我将承担什么风险?

  2. 2

    如何在 HTML 表单和 javascript 之间进行通信?

  3. 3

    使用postMessage进行iframe之间的通信

  4. 4

    使用Intent在应用之间进行通信

  5. 5

    使用IOLoop进行对象之间的通信

  6. 6

    使用ngrx存储vs @Input进行通信之间的简单通信

  7. 7

    片段之间进行通信

  8. 8

    如何使用界面在两个活动之间进行通信

  9. 9

    是否可以在不同框架之间使用NSNotificationCenter进行通信?

  10. 10

    Teensy Bord与系统之间使用Python进行的串行通信

  11. 11

    使用ReactJS在两个组件之间进行通信

  12. 12

    如何使用接口在片段和活动之间进行通信?

  13. 13

    使用代码在Kubernetes的Pod之间进行内部通信

  14. 14

    使用短信在两个设备之间进行通信

  15. 15

    使用短信在2个设备之间进行通信

  16. 16

    使用DNS名称在两个VM之间进行通信

  17. 17

    使用 Azure 服务总线在 2 个组织之间进行通信

  18. 18

    在ViewModel与事件之间进行通信

  19. 19

    在Java包之间进行通信

  20. 20

    在Java包之间进行通信

  21. 21

    接口在类之间进行通信

  22. 22

    使用NSURLSession委托进行授权

  23. 23

    使用异常进行通信

  24. 24

    不使用控制器之间的SharedService时如何在控制器之间进行通信?

  25. 25

    在表单加载之间使用相同的句柄进行控制

  26. 26

    在表单加载之间使用相同的句柄进行控制

  27. 27

    与UIWebview表单弹出窗口进行通信?

  28. 28

    使用由Lambda函数支持的API网关,该函数使用SNS在微服务之间进行通信

  29. 29

    在不同子树中的注释之间进行通信

热门标签

归档