【问题标题】:C# switch between forms inside a form like in MSN [closed]C# 在 MSN 中的表单内的表单之间切换 [关闭]
【发布时间】:2015-09-24 15:03:42
【问题描述】:

我记得 MSN Messenger 用来显示登录信息。登录后,它会显示加载动画。成功后,它会显示您的所有联系人。所有这些都在一个单一的形式中。

这是怎么做到的?

我不仅知道如何制作新表格,或者在表格中显示表格。但这不是它的做法,对吧?


我愿意接受有关如何改进我的问题的建议。我知道我几乎无法解释自己。也许在您的帮助下,我可以编辑我的问题以对其他人更有帮助

【问题讨论】:

  • 很可能它们不是表单中的表单,而是表单中的控件,尤其是容器控件。例如,您可以在设计器中创建自定义控件类,该类将包含其他几个控件,并且基本上表现得像一个表单。至于表单中的表单,您可以查看multiple document interface (MDI)
  • 您可能正在寻找this
  • @J.i.h,我认为你是完全正确的......

标签: c# forms winforms msn msn-messenger


【解决方案1】:

您可以使用 UserControl 对象。您可以将它们停靠在主窗体中的面板上。

本示例使用主窗体中的 Panel 对象进行停靠(名为 pnlCentre)。

public partial class MainForm : Form
{
    DummyControl1 dummy1;
    DummyControl2 dummy2;

    public MainForm()
    {
        InitializeComponent();


        dummy1 = new DummyControl1();
        dummy2 = new DummyControl2();

        pnlCentre.Controls.Add(dummy1);
        pnlCentre.Dock = DockStyle.Fill;
    }
    // switches between screens
    public void switchscreen()
    {
        pnlCentre.Controls.Remove(dummy1);
        pnlCentre.Controls.Add(dummy2);
        pnlCentre.Dock = DockStyle.Fill;

    }

}

public partial class DummyControl1 : UserControl
{
    // can be filled from the designer
}

public partial class DummyControl2 : UserControl
{
    // can be filled from the designer
}

【讨论】:

  • 很抱歉这么长时间没有接受您的回答。我是 c# 的新手,我今天才明白你的答案。这正是我需要的!
  • 如果您能告诉我如何填写设计师的 DummyControl1?
  • 没关系。这是解释这一切的链接。任何有需要的人 - 享受:msdn.microsoft.com/en-us/library/114xc3e5(v=vs.90).aspx
  • 我忘了我已经回答了这个问题......我很高兴你自己解决了剩下的问题。如果我需要澄清其他任何事情,请告诉我
猜你喜欢
  • 2013-06-06
  • 1970-01-01
  • 2015-02-26
  • 1970-01-01
  • 2011-11-25
  • 1970-01-01
  • 2015-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多