【问题标题】:C# Structure - Forms, Panels and User ControlsC# 结构 - 窗体、面板和用户控件
【发布时间】:2013-01-05 08:11:08
【问题描述】:

我一直使用 PHP,但对 C# 完全陌生。显然,每次用户点击新页面时,网页和应用程序都会加载新页面或使用 javascript 注入内容。

在使用 Microsoft Visual Studio 2010 Express 设计我的 C# 应用程序时,我无法理解我的应用程序的结构。我有一个带有按钮的表单......当按下按钮时,它会进入该类别并显示更多按钮(相当简单)。

起初我打算有一个带有主按钮的表单。当按下按钮时,它会关闭并打开一个新表单。显然这不是一个好主意。我打算在一个表单上使用面板,根据需要显示和隐藏。

现在我在网上看到我应该使用用户控件???? 如果您认为用户控制比为什么还要麻烦面板?为什么不把用户控件放在表单上?

将内容重新加载到表单的正确方法是什么?内容将是来自 SQL 数据库的动态内容。

【问题讨论】:

  • 这是一个非常广泛的问题...没有直接的答案,请考虑一个问题...您使用 Winforms 有什么原因吗?如果它对您来说是全新的,那么您不妨从 WPF 开始,对您来说的众多优势之一就是您可以使用 XAML 以声明性方式定义 UI(您可能能够以这种方式与您的 HTML 技能相关联) )。这也将允许您使用基于导航的应用程序,该应用程序很像带有页面和前进/后退按钮的 Web 应用程序。

标签: c# windows winforms


【解决方案1】:

这取决于您的要求。通常 winform 应用程序只有一个主窗体,其中包含一个面板 - 带有选项卡/用户控件/按钮/等,打开 modal 窗口(在主窗体顶部,应关闭以返回主窗体form) 或MDI (multi-document) 界面,(a nice example of implementation),如 Word/Photoshop/等,当不同的文档作为主窗体的子窗口打开时,用户可以在它们之间来回导航。这可以用于多个数据库记录应用程序。例如,带有菜单/工具栏的主窗体(如 Outlook 收件箱/已发送/等)、用于搜索文档的单个窗口、双击 - 在新窗口中打开文档详细信息等。

您可以使用 Panel 或 UserControl 作为容器,以满足您的需要。通常 Panel 仅用作容器,而 UserControl - 作为具有一些自定义行为/控件的继承控件。您可以将Name [...textbox...] UI 添加到父控件中。或者到继承的UserInfoControl : UserControl 和姓氏、出生日期等。并在多个地方重复使用它。

【讨论】:

    猜你喜欢
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多