gpt4 book ai didi

c# - 我的 Winforms 编码方法是老派的吗

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

我正在处理的项目非常大,我们开发了一个框架来轻松构建简单的 UI 屏幕。我们拥有的两种基本类型是搜索(搜索参数 + 结果网格)和详细信息(通常从某些模型对象填充的一组编辑器)。

应用程序都是 C# .NET Winforms。

在Detail中我们有以下过程。

  • 加载 - 根据适当的模型对象填充编辑控件。在显示详细信息之前调用

用户点击确定

  • 验证 - 验证细节以确保一切一致
  • 接受 - 将更新的控制值复制回模型

这一切都适用于简单的东西,但在更复杂的情况下,我注意到上述方法可能不是最流畅的。

上面提到的更复杂的情况是当一个细节表示一个模型对象并且有一个嵌入在细节中的网格时,该网格包含可以添加和删除的“子”对象。通常,您希望启动子 Detail 并传入父模型对象,但是此时它尚未完全填充/更新,因为只有单击“确定”时才会发生这种情况。我发现自己有时会以一种烦人的方式解决这个问题,这让我想到了以下问题。

在高层次上,对于像我描述的详细信息屏幕来说,公认的/最佳实践方法是在更改控件时将值复制到模型对象,而不是等到单击确定吗?

如果是这样,在 Winforms 应用程序中,实现此目的的最佳方法是什么?我发现一些文章提到 Control.DataBindings 但它并不理想,因为绑定(bind)缺乏编译时安全性。我读过 WPF 具有良好的绑定(bind)支持,但不幸的是,我没有使用 WPF。

最佳答案

对于 Winforms,我建议您研究模型- View -展示器模式。 http://msdn.microsoft.com/en-us/magazine/cc188690.aspx

关于c# - 我的 Winforms 编码方法是老派的吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5097995/

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