gpt4 book ai didi

c# - 需要两个用户控件(winforms)进行通信时的最佳实践

转载 作者:太空狗 更新时间:2023-10-29 23:35:41 25 4
gpt4 key购买 nike

扩展问题

除了下面指定的原始问题之外,我想添加一个新问题。应用程序中的一个用户控件包含我需要从另一个用户控件访问的对象列表。如何才能做到这一点? (我不相信控件的划分执行得很好,但我宁愿不改变它..)

我应该像原来的问题一样通过事件来完成,还是应该获取父窗体,并使用它来查找控件的实例,并将其作为属性公开?


原始问题

我在一个表单中有两个用户控件,我希望它们能够相互通信。用户控件 A 应该能够开始对 B 的操作。

解决这个问题的首选方法是什么?表单是否应该等待来自 A 的事件,然后开始对 B 进行操作?有什么设计模式吗?还是更简单的解决方案?

提前致谢! :)

最佳答案

这两个用户控件不应该相互了解。如果您希望始终将它们作为一对来处理,请考虑创建第三个用户控件来容纳它们。

Should the form wait for an Event from A, and then start the operation on B?

是的,这是处理这个问题的唯一好方法。

扩展(奖金?)问题有点棘手。我会通过让表单将用户控件委托(delegate)给另一个用户控件上的方法来检索数据来处理这个问题。然后,用户控件可以调用委托(delegate)方法来调用另一个控件上的方法,而无需了解其实现。

关于c# - 需要两个用户控件(winforms)进行通信时的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1063010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com