C#开发如何Winform实现窗体间相互传值(winform,开发技术)

时间:2024-05-02 12:29:01 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    C%23%E5%BC%80%E5%8F%91%E5%A6%82%E4%BD%95Winform%E5%AE%9E%E7%8E%B0%E7%AA%97%E4%BD%93%E9%97%B4%E7%9B%B8%E4%BA%92%E4%BC%A0%E5%80%BC

我们在做Winform窗体程序开发的时候,会经常遇到窗体之间相互传值。假设有下面的一个场景:一个主窗体和一个子窗体,点击主窗体上面的按钮给子窗体传值,并在子窗体上面显示出来,一般会有如下几种方式实现。

我们可以在子窗体里面定义一个公共的属性,然后在父窗体里面给公共属性赋值,这样可以实现窗体之间传值,子窗体代码如下:

父窗体代码:

这种方式有一个缺点:属性需要设置为public,不安全。

我们还可以在子窗体里面定义一个方法,通过调用方法传值,子窗体代码如下:

父窗体代码:

这种方式同样也有缺点:属性虽然是private的了,但是方法还是public的。

上述两种方式都是不安全,下面我们使用委托来实现窗体之间传值。

我们在主窗体里面定义一个有参无返回值的委托:

在父窗体里面定义一个委托类型的事件:

委托与事件的关系,事件相对于委托更安全,更低耦合。委托是一个类型,事件是委托类型的一个实例。

这里其实就是在子窗体里面定义一个给控件赋值的方法:

在按钮的点击事件里面触发委托:

上面的代码中使用的是自定义的委托,我们也可以使用.Net 框架里面自带的Action泛型委托:

本文:C#开发如何Winform实现窗体间相互传值的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:怎么用Shell脚本一键安装Nginx服务下一篇:

4 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18