【问题标题】:How to change the content of windows form with button control click? [duplicate]如何通过按钮控件单击更改窗体的内容? [复制]
【发布时间】:2013-02-19 11:49:31
【问题描述】:

我正在使用 Visual Studio 2010,并且我有一个 winforms 应用程序。

当我启动应用程序时,我会向用户显示“MainMenu”:

1) 新游戏按钮

2) 选项

每个按钮单击创建一个新表单... 当用户单击选项按钮时我想要做的是更改 MainWindow 内容是选项窗口的内容.. 当他接受 选项窗口上的更改 -> 返回主菜单视图.. 有可能吗?

【问题讨论】:

标签: c# .net winforms user-interface


【解决方案1】:

您可以使用Panels 并切换它们:

panelMain.Visible = false;
panelOptions.Visible = true;

或者你可以有很多表格,然后显示和隐藏它们:

frmOptions.Show();
frmMain.Hide();

【讨论】:

  • 非常感谢您的回答!
【解决方案2】:

创建多个面板并在单击按钮时隐藏和显示这些面板。

Button_Click(object sender, EventArgs e)
{
  PanelNewGame.Visible = true;
  PanelOptions.Visible = false;
  PanelMain.Visible = false;
}

根据您单击的按钮以不同方式处理它们

【讨论】:

  • 感谢您的回答!
【解决方案3】:

您可以这样做的一种方法是使用不可见的标签和文本字段,例如,当用户单击“选项”按钮时,一切都会变得清晰。

【讨论】:

    【解决方案4】:

    我建议你看看Tab Control class. 这个控件允许你使用命令以编程方式在不同的内容块之间切换

    tabControl.SelectTab(i)
    

    其中 i 是选项卡的索引。

    【讨论】:

    • 是的,我知道,但我不想使用标签
    • @Elior 您可以制作一个自定义用户控件,其行为类似于没有视觉效果的 TabControl。或者您自己的视觉效果,这可以满足您的需求,并且经过 MS 的良好测试:P
    • 很公平。您是否知道您可以使用this stack overflow answer 中详述的技巧来隐藏实际的选项卡标题,从而在不造成 UI 丑陋的情况下提供选项卡的灵活性?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多