c# - 在面板之间切换

标签 c# winforms visual-studio panel

我在 1 个表单中有 3 个面板来完成输入某些数据的过程。单击面板中的下一个按钮时,应显示下一个面板。 最初我启用了第一个面板的可见性并禁用了其他面板的可见性。
单击下一步按钮时,将执行以下代码。

      panel1.Visible = false;
      panel2.Visible = true;

为了开发的目的,我将它们并排放置(而不是一个放在另一个上)并且它非常完美。
但是,当我将它们一个接一个地放置时,上面的代码似乎并没有正常工作,这意味着当单击下一个按钮时,它只会显示一个空表单。
然后我也添加了下面的代码。

    panel1.SendToBack();
    panel2.BringToFront();

但是没有用。有人可以帮我解决这个问题吗?

谢谢。

最佳答案

这在设计器中总是出错,底部面板将成为顶部面板的父级。因此,如果您隐藏底部的,您将永远看不到顶部的。

这可以通过 View >(其他窗口)> 文档大纲解决,将顶部面板拖回窗体。仍然非常痛苦,您通常必须手动编辑位置,并且稍后在设计器中对表单进行任何更改往往会使面板退回。

有更好的方法可以做到这一点。强烈建议改为创建 UserControl,它们有自己的设计界面。或者使用 RAD 方式并使用 TabControl 代替。您所要做的就是在运行时隐藏选项卡,this Q+A 的主题.

关于c# - 在面板之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31498890/

相关文章:

c# - 将事件从 C# 应用程序传递到 Java 应用程序

c# - 在数组中的特定索引中搜索特定数字

c# - ASP.NET Web 应用程序和 AssemblyInfo.cs

visual-studio-2010 - Web Workbench 智能感知和 LESS 变量文件

c# - 如何在 Accord.net 中正确使用 SVD

c# - 如何在表单关闭时停止异步方法

wpf - 如何将winforms项目转换为wpf项目

visual-studio - AMD Ryzen 上的英特尔编译器 17

c# - 在 Unity 中使用反射注册通用类型

c# - 如何将 Panel 的内容复制到 richTextBox?