我已经读过这个问题,它谈到了同样的事情,但我对设计有一个具体的问题。如您所知,VS 中的选项对话框是左侧的 TreeView 控件和右侧的类似面板的控件,其中包含当前选择 TreeView 控件的所有选项。根据上述问题中给出的建议,我决定为每个选项“面板”构建一个 UserControl。当用户在 TreeView 中选择特定节点时,我正在尝试确定使所选面板可见并隐藏所有其他面板的最佳方法。在我的事件处理程序中,选择TreeView中的新节点时执行以下操作:
If e.Node.Name.CompareTo("PanelAName") = 0 Then
PanelA.Visible = True
PanelA.Enabled = True
PanelB.Visible = False
PanelB.Enabled = False
ElseIf e.Node.Name.CompareTo("PanelBName") = 0 Then
PanelA.Visible = False
PanelA.Enabled = False
PanelB.Visible = True
PanelB.Enabled = True
End If
唯一的问题是在示例代码中只有两个面板,我将拥有 15-25。虽然我当然仍然可以这样做,但似乎需要更多的代码行。有什么更好的方法建议吗?