当前位置: 首页 > 知识库问答 >
问题:

控制器应该访问UI组件吗?

谷飞星
2023-03-14

我正在使用MVC模式开发一个WinForms应用程序。我是否应该从控制器访问UI组件,例如treeview节点?

我想访问一个treeview选择的节点并改变它的标记之类的东西,我应该从controller访问它还是违反MVC的原则?

唯一让我恼火的是treenode属于windows.forms名称空间,并且从MVC透视图/表单相关组件应该只在视图中使用,所以我才问。

共有1个答案

管和志
2023-03-14

通过对视图的调用从控制器访问UI组件,而不是直接访问。想象一下,将treeview更改为其他的东西,比如稍后基于Telerik的treeview,当发生这种情况时,您的控制器是否也必须更改其代码?然而,对于winforms,我相信MVP将是适用的,并且与我所做的评论和Stijn所说的很好。也许看看这两者之间的区别。

MVC与MVP

 类似资料:
  • 容器访问控制 容器的访问控制,主要通过 Linux 上的 iptables 防火墙来进行管理和实现。iptables 是 Linux 上默认的防火墙软件,在大部分发行版中都自带。 容器访问外部网络 容器要想访问外部网络,需要本地系统的转发支持。在Linux 系统中,检查转发是否打开。 $sysctl net.ipv4.ip_forwardnet.ipv4.ip_forward = 1 如果为 0,

  • 我正在编写一个WPF表单应用程序,在其中我试图循环通过一个文件夹并实时显示其文件,使用异步等待方法。在我的任务中。运行()方法我正在引发我的事件,这会引发罚款,但是事件代码也会更新UI线程上的文本框,因此我UI线程错误 '调用线程无法访问此对象,因为另一个线程拥有它。' .有什么方法可以更改我的代码,以便我可以更新我的TextBox? 和我的事件处理程序代码

  • 访问控制限制其他源文件和模块对你的代码的访问。这个特性允许你隐藏代码的实现细节,并指定一个偏好的接口让其他代码可以访问和使用。 你可以给特定的单个类型 (类,结构体和枚举)设置访问级别,比如说属性、方法、初始化器以及属于那些类型的下标。协议可以限制在一定的范围内使用,就像全局常量,变量,函数那样。 除了提供各种级别的访问控制,Swift 为典型场景提供默认的访问级别,减少了显式指定访问控制级别的需

  • 访问控制用于设置访问负载均衡的IP白名单或IP黑名单。 访问控制用于设置访问负载均衡的IP白名单或IP黑名单,在访问控制策略组中仅可以设置IP地址范围,在配置负载均衡实例监听时可设置是否启用访问控制,并设置针对具体的访问控制策略组设置访问白名单或黑名单。 访问控制来源: 同步公有云上被实例上的监听绑定的访问控制,并自动在访问控制缓存里添加一条记录,同步下来的访问控制默认本域共享。 在云管平台上创建

  • 问题内容: 为什么无法从另一个内部访问其他控制器方法呢? 像这样。 已编译 如果您不能这样做,那为什么不呢?我还应该怎么做… 问题答案: 最近几个小时遇到相同的问题。我使用了api / services文件夹。它可能不完全是您所需要的,但是它是一个选择。