如何在 C# 中制作类似 Delphi 的框架?
Posted
技术标签:
【中文标题】如何在 C# 中制作类似 Delphi 的框架?【英文标题】:How to do Delphi-like frames in C#? 【发布时间】:2011-01-21 14:10:12 【问题描述】:一点背景知识:我是一名 Delphi 程序员,正在重新学习 C#(最初是在学校学习的,直到最近才接触过),并且正在尝试将我的一些 Delphi 概念转移过来。
目前的情况是,我需要创建一个应用程序,该应用程序可以根据位置、需要等使用类似数据控件的变量列表中的数据,并且为了在 Delphi 中显示该信息,我只需使用滚动框和框架。我可以很容易地用 C# 面板类替换滚动框,但是我找不到任何可以使用的东西来告诉我如何创建我的框架类以在面板内使用。我只能找到一些用于 Web 开发的东西。
谁能指出我学习 C# 框架等效的好方向?谢谢。
编辑:
对于非 Delphi 程序员来说,框架是一种类似于表单的控件,允许在其上放置其他控件(按钮、框、网格等),然后框架本身被用作表单上的控件以减少代码重用,因为所有框架都具有相似的功能并简化了开发。有关(可能更好)更深入的描述,请参阅 about.com's 或 Delphi Basics 描述。
【问题讨论】:
【参考方案1】:编辑:
对于非 Delphi 程序员,框架是 一个类似表单的控件,它允许其他 控件(按钮、框、网格等) 放在上面,然后是框架 被用作控件本身 减少代码重用的形式 框架做类似的功能和 精简开发。为一个 (可能更好)更深入 描述,见 about.com 或 Delphi 基本说明。
对我来说听起来像是一个用户控件。
这里有一些教程:
WPF
WinForms
【讨论】:
是的,看起来完全一样。谢谢。【参考方案2】:使用过 Delphi 和 .Net,我认为 UserControl 是等价的。它是一个容器,您可以在其中添加控件,然后添加到项目中的其他表单中。
【讨论】:
【参考方案3】:您需要创建一个扩展 Panel 类的自定义控件,然后重复该自定义控件。
【讨论】:
【参考方案4】:我对 Delphi 不熟悉,但您描述的内容听起来有点像 WPF FlowDocument,或相关控件之一。
【讨论】:
FlowDocument 并不是我所需要的。将尝试更新问题以更好地为非 Delphi 用户描述。不过谢谢。【参考方案5】:任何 Panel 都提供与 Delphi 的 Frame(包含其他控件的组合)相同的功能。
要封装和重用具有特定子级的面板,您需要编写一个自定义类(WinForms 中的自定义控件(如 Payton 所述),或者更好的是 WPF 中的新控件)。
我多年前也在 Delphi 中进行过编程,我强烈推荐使用 WPF 而不是 WinForms,特别是如果您熟悉 html 或 XML,或者您需要编写动态或面向数据的应用程序。
【讨论】:
以上是关于如何在 C# 中制作类似 Delphi 的框架?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ASP.NET Core 同时制作 Razor Page 和 C# 代码框架?