【问题标题】:Tabbed user interface in C#C# 中的选项卡式用户界面
【发布时间】:2009-06-07 08:34:53
【问题描述】:

我想创建一个简单的选项卡式界面应用程序。我之前在 WPF 中使用每个选项卡内的用户控件进行过此操作,并且我与搜索父元素(表单或选项卡控件)的主要表单进行通信

我怎样才能在 WinForms 中做同样的事情?我需要在每个选项卡中放置哪个元素?

谢谢。

【问题讨论】:

    标签: c# winforms interface user-interface tabbed-interface


    【解决方案1】:

    您可以在 winforms 应用程序中使用几乎相同的方法。您可以将用户控件添加到表单上TabControl 的标签页。在用户控制代码中,您可以使用FindForm 方法来获取父表单。

    但是,我建议您改为使用事件从控件“向外”进行通信,以减少它们对周围环境的依赖。

    【讨论】:

    • 为什么使用 FindForm 而不是 Parent 属性?只是好奇。 =)
    • Parent 属性返回Parent,它很可能是窗体上的另一个控件。如果您在表单上放置一个面板,并且该面板中的用户控件,您将需要使用 Parent.Parent 来访问该表单。您可以将 FindForm 视为直接指向表单的快捷方式。
    • 哦,我知道 FindForm 是如何工作的,我只是没有考虑 Parent.Parent.Parent 递归问题。谢谢! ^^
    【解决方案2】:

    TabPage 和 TabControl 可能是您想要研究的类和组件。使用 Parent 属性,您可以访问拥有的表单,从而在需要时与它或选项卡之间进行通信。

    不过,正如 Fredrik Mörk 所建议的,使用事件是一种更好的做法。 =)

    【讨论】:

      猜你喜欢
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 2011-12-02
      • 1970-01-01
      • 1970-01-01
      • 2017-11-03
      相关资源
      最近更新 更多