1

好的,所以我的数据库类有一个数据库项目。我有一个用 MySQL 制作的数据库,并且正在用 C# 制作我的应用程序。该数据库基本上只是一个零件数据库,在 4NF 中由零件、关系表、构建、客户和订单表组成,因为这是基于客户的计算机构建数据库。我对我的数据库的设计方式或任何东西没有任何问题,但我想知道我应该如何为这样的事情做我的 GUI。

我目前在选项卡中设置了它,每个选项卡都是构建中需要的一部分,但我不喜欢它的外观。有没有一种方法可以让我拥有下一个和上一个按钮,并为每个部分设置一个窗格并逐步浏览它们?我对 C# 有点陌生,正在努力学习。建议?

编辑:我想我应该明确表示我正在考虑可能使用面板并使用“下一个”和“上一个”按钮来切换它们,而不是使用选项卡并遍历它们。

EDIT2:我没有想办法通过将视图更改为新面板来做到这一点,但我想出了如何通过动态添加/删除数据来做到这一点。这就是我想要的 - 一种在面板中存储按钮、标签和所有其他所需控件并能够更改在表单中查看的面板的方法......所有这些都只需单击一个按钮。

4

3 回答 3

4

我没有完整的答案给你,但我有一个建议。

windowsclient.net/learn/videos.aspx 上有一些关于构建数据访问表单的非常好的视频和教程,其中大部分都很简短、中肯且非常有用。我会看一些,看看是否有任何看起来很有趣。

使用“下一个/上一个”按钮,您正在谈论“分页”。我不知道如何在 WinForms 中做到这一点,但这将是我首先要看的地方。

于 2012-04-04T21:49:49.810 回答
0

你可以很容易地拥有上一个/下一个按钮。我会将它们放在 TabControl 之外(这样您就不会复制它们),然后让它们的处理程序简单地增加或减少 TabControl 的 SelectedIndex 属性。

编辑:你知道你可以让标签看起来不像标签吗?例如,您可以将 Appearance 属性设置为 TabAppearance.Buttons,“选项卡”将改为呈现为按钮,这将使选项卡行看起来更像一个面包屑控件。

您还可以使用在表单上重叠的面板,并调用代表您想要的页面的面板的 BringToFront() 方法。

于 2012-04-04T21:57:14.193 回答
0

我成功地实现了我想要的。对于我需要的每个计算机部件,我为每个屏幕的每个布局都有一个类。该类是 Panel 的子类。所有这些 Panel 子类都在其中包含控件(按钮、文本框、标签等),并且每个 Panel 的索引都存储在每个类的变量中。这些变量说明您正在查看的“页面”以及相对于您当前位置的下一个/上一个页面。然后,我缺少的主要内容是 z 顺序。要在执行下一个/上一个按钮时更改 z 顺序,我使用以下命令:

Controls.SetChildIndex(PartLayout,0); //this sets the PartLayout Panel (Extended)
                                      //to the 0 index or the front/visible layer

基本上就是这样。我实际上还没有实现我特别想要的东西,但是我已经用一个测试文件完成了它并让它做我想做的事情。感谢大家的帮助!

于 2012-04-06T07:12:42.107 回答