【问题标题】:How do I add multiple forms inside one on Visual Studio 2019?如何在 Visual Studio 2019 上的一个表单中添加多个表单?
【发布时间】:2021-02-27 17:31:20
【问题描述】:

我正在使用 C# 语言在 Visual Studio 2019 中创建一个项目。我一直在寻找这个问题的答案。

我想要达到的目标: 面板侧面将有多个选项卡,当按下按钮时,它将显示 特定区域内的另一个页面,而不需要显示完全不同的其他表单。我有 尝试使用选项卡,但按钮不可自定义,我也无法安排每个按钮的位置 个人。

谢谢你,我希望有人能提供帮助。

【问题讨论】:

  • 你看起来像这样:stackoverflow.com/questions/17962341/… ?
  • 如果是 Windows 窗体,请添加“winforms”标签。有这么多 UI 框架,答案取决于您使用的。
  • 如果您不在选项卡中使用 TabPages,您仍然可以使用自己的按钮和 UserControls 来实现相同的效果。这些类似于表单,但意味着嵌套在某个容器中,例如在面板中。就像表单一样,它们可以被重用,是它们自己的类,并且被创建为部分类。只要确保创建合适的接口来共享/交换数据和/或事件..

标签: c# winforms visual-studio-2019


【解决方案1】:

我已经从这个帖子How can I open multiple forms inside a form回答了同样的问题

您可以在面板内生成表单。通过在下面执行此操作。

private void button1_Click(object sender, EventArgs e)
{
    Form2 frm = new Form2() { TopLevel = false, TopMost = true };
    frm.FormBorderStyle = FormBorderStyle.Sizable;
    this.pContainer.Controls.Add(frm);
    frm.Show();
}

要通过视频指南了解更多信息,请查看此网站。

https://foxlearn.com/windows-forms/how-to-add-the-form-in-panel-from-another-form-in-csharp-442.html

pContainer 是一个面板控件。 顺便说一句,Topmost 是可选的,具体取决于您的使用方式。

【讨论】:

  • 好像没有叫pContainer或者Panel Control的东西,有安装包吗?
  • 如果您真的想将表单用作用户控件,请不要设置其边框。此外,设置TopLevel = false, TopMost = true 有点毫无意义:TopMost 只是被缓存,而不是在TopLevel = false 时设置。就BringToFront()吧。 UserControls 也有一个 Designer,所以...
  • @FIVEPZ pContainer 是一个面板控件。
  • 尽管标题 OP 似乎并不真正想要真正的表单只是一个更好的 Tab 控件,所以用 UserControl 替换 TabPages 并用他自己的按钮编码显示/隐藏应该可以..
猜你喜欢
  • 1970-01-01
  • 2020-01-08
  • 2011-06-11
  • 1970-01-01
  • 2020-11-17
  • 1970-01-01
  • 2018-07-18
  • 1970-01-01
  • 2013-08-09
相关资源
最近更新 更多