2011-02-23 89 views
2

这对我来说都是新手,所以这是一个相当广泛的开放式问题,额外的信息欢迎!在Visual Studio中构建一个带有很多控件的GUI

我正在构建一个有很多输入/控件的gui。有几页控件,有效地放在彼此的顶部,只在不同的时间显示。我有这样的问题,即控件正在彼此重叠。我怎样才能避免所有这些混乱?

我可以通过我的代码动态添加控件,但我失去了拖放gui的优势。另外,我不知道事件会如何工作。

如何使用gui设计器创建多个页面的控件,而不是彼此分层控件?

+0

您正在使用的WinForms或WPF掩盖你在设计时...? – 2011-02-23 14:50:09

+0

WinForms。 WPF是否提供了显着的优势? – 2011-02-23 14:50:49

回答

2

基本上,你在这里有什么不同的看法。我建议你在自己的用户控件中创建每个视图,并将其添加到表单中。

+0

你可以扩展它吗? – 2011-02-23 15:00:50

+0

在哪个方向?我真的不知道,你在努力达到什么,所以很难具体。 – 2011-02-23 15:02:02

+0

经过一番研究,我就是这么做的。谢谢你指出我朝着正确的方向。 – 2011-02-28 14:17:36

0

(对不起,我给记住用MFC回答,但应该在C#中等同或vb.net)

  • 看一看propertysheets和属性页(CPropertySheet的和的CPropertyPage)
  • 手动管理不同的无模式和无边界CDialog,您可以独立显示/隐藏。
  • 检查你的用户界面,并问自己,如果你真的需要这么多的控​​制。

最大。

+0

我认为标签“net”意味着他使用WinForms或WPF。 – 2011-02-23 14:50:33

2

一种方法是使用TabPage将您的控件组织到多个页面中,并仅显示/隐藏正在使用的选项卡。这样做的好处是,所有页面都可以在设计时使用,但是您可能不希望用户看到他在选项卡控件上...

如果那不是您所追求的,在UserControl内部组织它们(就像Danial Hilgarth所建议的那样)就是要走的路。基本上,您为每个包含该页面的所有控件和行为的“页面”创建一个用户控件。当你需要在它们之间切换时 - 只需使用'可见'属性即可。

另一种方式(如果你真的不喜欢的用户控件)将放置在面板的一切,但是这将

+0

如果我使用面板做这样的事情,我将它们在设计视图中展开,并在运行时将它们放置在彼此之上。 – dwidel 2011-02-23 15:23:20

相关问题