首先发布在这里。我有一个相对糟糕的问题 - 但我是新手,所以请耐心等待。
我正在为朋友编写一个简单的应用程序来跟踪一些日常问题/行为以用于报告目的。我试图使用几乎一个向导风格,但我发现的向导示例要么是不必要的复杂或过时。
我所拥有的是一个Windows窗体,为了论证,它有5个面板,彼此叠加。每个面板包含一组不同的控件(我无法完全重复使用所有控件或进入'模板'方向)。面板下方是3个按钮 - 取消,后退,下一个。
我希望能够做的就是使用“下一步”和“后退”按钮在面板之间导航。即当我单击“下一步”时,click事件设置面板A中的变量值,然后隐藏它并加载面板B,然后Next设置B的值并加载C,依此类推。
我以为我可以用某种数组或对象列表来做这件事,但我不确定最好的方法。我在另一个论坛上问道,我得到的唯一答案是将按钮添加到面板中,让它们专门用于正面和背面的表格。这似乎非常低效,我知道有更好的方法来做到这一点。你们能否对此有所了解?
答案 0 :(得分:0)
我个人会创建一个List<Of Panel>
并将面板添加到其中。然后使用整数并在0到4之间递增,使用BringToFront
显示当前面板。这样的事情。
Public Class Form1
Dim myPanels As List(Of Panel) = New List(Of Panel)
Dim count As Integer = 0
Private Sub btnCancel_Click(sender As System.Object, e As System.EventArgs) Handles btnCancel.Click
count = 0
myPanels(count).BringToFront()
End Sub
Private Sub btnNext_Click(sender As System.Object, e As System.EventArgs) Handles btnNext.Click
If count < 4 Then
count += 1
Else
count = 0
End If
myPanels(count).BringToFront()
End Sub
Private Sub bntPrevious_Click(sender As System.Object, e As System.EventArgs) Handles btnPrevious.Click
If count > 0 Then
count -= 1
Else
count = 4
End If
myPanels(count).BringToFront()
End Sub
Public Sub New()
' This call is required by the designer.
InitializeComponent()
myPanels.Add(Panel1)
myPanels.Add(Panel2)
myPanels.Add(Panel3)
myPanels.Add(Panel4)
myPanels.Add(Panel5)
myPanels(count).BringToFront()
End Sub
End Class