【问题标题】:Windows Forms designer with multiple overlapping panels具有多个重叠面板的 Windows 窗体设计器
【发布时间】:2016-06-30 15:10:14
【问题描述】:

我继承了一个旧版 WinForms 应用程序,该应用程序面向具有非常小屏幕的 Windows CE 设备。

整个 UI 似乎由大约 20 个不同的视图组成,构建为一个单一的表单,其中每个视图使用单独的面板,并根据应用程序的上下文使它们可见或隐藏。

我知道我需要更改此设计,可能会将 UI 拆分为多个 UserControl。

但是,在我走到这一步之前,我希望能够探索和了解当前存在的内容。不幸的是,在设计师的这种可怕的形式中导航似乎是不可能的。最前面的控件层是可见的,但我看不到它下面的内容。我无法想象最初的开发者是如何建造这个怪物的,但显然他找到了一种方法。

是否有一种简单的方法可以在设计器中显示/隐藏控件,或者以其他方式发现隐藏层并将它们置于最前面(而不破坏现有功能)?

任何其他关于如何摆脱这种混乱局面的建议将不胜感激。

【问题讨论】:

  • 遗憾的是 winforms 文档大纲不支持隐藏和显示(与 WPF 文档大纲相反),但您始终可以复制页面并删除文档 Oultine 中的面板以了解发生了什么在。 (或删除所有内容并稍后撤消更改)
  • 感谢@Console - 这就是我所担心的。但是有没有什么地方我至少可以看到大纲形式的控件树,以便我可以尝试使用 UserControls 复制它的结构?

标签: winforms visual-studio


【解决方案1】:

我时不时地处理一个非常相似的问题,而我发现的最佳解决方案(不编写 VisualStudio 扩展)是使用文档大纲窗口并删除“图层”,将内容复制粘贴到 UserControl 和撤消删除。

文档大纲显示表单的可视化树。 (遗憾的是,它不支持像 WPF 文档大纲那样隐藏和显示部分树)

您可以在视图 -> 其他窗口 -> 文档大纲下找到文档大纲窗口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-09
    • 2012-08-03
    • 1970-01-01
    • 2010-09-07
    • 2012-08-05
    • 1970-01-01
    相关资源
    最近更新 更多