C#用户控件(带序列).在WinForms中导航

本文关键字:WinForms 导航 用户 控件 | 更新日期: 2023-09-27 18:24:41

我正在寻找最好、最有效的方法来实现基于事件的用户控件导航,以下是预期用途。

我也不知道什么是最好的,在控件或窗体上有下一个后退按钮。

最后,下一个按钮有时可能会更改,最初会在一些控件上进行验证,然后如果已验证,则更改为下一个,如果验证正常

好的概念:

我有一个带有3个复选框的主用户控件,每个复选框后面都有一系列更多的用户表单,因此,如果所有三个都被选中,那么它应该一个接一个地加载所有三个序列。

无论选择了多少,所有序列都以相同的最终用户控件结束。

基本上,我需要了解最好和最实用的方法(欢迎示例)。

有很多主题涉及winforms/用户控制导航,但我似乎看不到一个能满足我需求的解决方案。

为了与某些系统兼容,我决定使用.net 3.5;这会对建议产生影响吗。

欢迎反馈、链接、代码等:)

C#用户控件(带序列).在WinForms中导航

几年前我也遇到过类似的情况。如果记忆有用的话,我是这样处理的:

  1. 将导航按钮分离到各自的控件中按钮合在一起。将此控件设计为支持停靠。

  2. 在此控件中,为Back、Next、Finish和取消在控件上提供单独的属性,以确定用户可以执行的操作:CanMoveBack、CanMoveForward、CanFinish和可以取消。容器应该能够设置这些。

  3. 在导航属性的setter中,您希望能够调整每个导航的可见性/禁用状态按钮。不要热交换文本。这样,每个按钮都做一件事,只有一件事。这使他们的事件处理程序保持整洁。

  4. 用户控件本身应该引发事件:OnBackClicked,OnNextClicked、OnFinishClicked和OnCancelClicked。你的按钮事件处理程序应该引发这些问题。容器应该决定单击时要执行的操作。