c#自定义GUI,实现更好

本文关键字:实现 更好 GUI 自定义 | 更新日期: 2023-09-27 18:13:30

我正在为我的应用程序制作一个自定义GUI。基本上我的应用程序有多个"标签"。每个选项卡都绑定了一个面板控件,用于显示选项卡的内容。每当单击任何选项卡时,适当的面板控件就会变得可见(显示内容),而其余的面板则变得不可见。

问题是,当我在Visual Studio中设计它们时,很难工作,其他面板堆叠在一起或者我把它们放在不同的坐标上,当面板激活时,它的位置被更新。

有没有办法我可以设计所有的面板,就像在单独的"形式"或类似的东西,我有单独的类?如果这说得通的话。谢谢!

编辑:

我不能使用标准的选项卡控件,因为我的应用程序有自定义的GUI,所有的按钮和一切都是在图像处理应用程序中设计的。选项卡控件不允许我使用自己的图形。

我要看看UserControl,谢谢大家!

c#自定义GUI,实现更好

您可以在单独的UserControl中创建每个选项卡内容。使用每个UserControl作为每个选项卡上唯一的内容

您应该能够将每个"panel"设计为单独的UserControl。

你的主表单可以由那些用户控件组成,而不是将整个UI构建到一个类中。

首先,我建议您在大多数情况下坚持使用标准的。net控件。特别是在这种情况下,标准的TabControl似乎是一个很好的选择。

也就是说,您可以将表单上的所有面板放置在它们的最终位置(确保不要将一个面板放置在另一个面板中)。然后,您可以使用Properties对话框中的下拉菜单来选择您希望使用的Panel。接下来进入Format菜单,选择Order->Bring to Front。这将把想要的面板到前面,所以你可以使用它的设计师。然后,您可以在运行时继续隐藏或显示适当的面板。