Vb.net VB-通过My.Settings中存储的字符串引用控件

Vb.net VB-通过My.Settings中存储的字符串引用控件,vb.net,user-interface,controls,Vb.net,User Interface,Controls,我正在制作一个非常简单的应用程序,它有多个屏幕(作为面板),通过点击左侧边栏上的按钮隐藏/显示 我有一个PNLHome、PNLServerSettings、pnlscript和PNLSettings作为主面板。 每个panel.Name属性都是“PNLHome”、“PNLServerSettings”等 我希望能够根据您在PNLSettings中的组合框中所做的选择更改“启动屏幕”,因此当您启动应用程序时,立即显示的面板将基于该组合框选择 我有ComboBox项目,我有一个隐藏所有面板并显示您传

我正在制作一个非常简单的应用程序,它有多个屏幕(作为面板),通过点击左侧边栏上的按钮隐藏/显示

我有一个PNLHome、PNLServerSettings、pnlscript和PNLSettings作为主面板。 每个panel.Name属性都是“PNLHome”、“PNLServerSettings”等

我希望能够根据您在PNLSettings中的组合框中所做的选择更改“启动屏幕”,因此当您启动应用程序时,立即显示的面板将基于该组合框选择

我有ComboBox项目,我有一个隐藏所有面板并显示您传递到其中的面板的函数: 例如,showPanel(PNLHome)基本上只显示您提供的面板,所有这些都可以正常工作。单击左侧边栏上的一个主按钮时会触发此showPanel()

我想要的是将一个控件.Name字符串传递到我的showPanel()func中,然后我想通过设置面板中的“保存/应用”按钮将这个.Name字符串存储到我的.Settings中,我可以很容易地进行设置

因为我将把.Name字符串传递到showPanel()函数中,所以我需要能够通过名称而不是对象ID本身来引用我正在显示的面板(我不确定它是否被称为ID,但它是通过“DIM WithEvents PNLHome As Panel”声明声明面板的“Name”)

为了总结这个问题,我可以通过PNLHome的.Name属性引用它吗?
否则,我可以直接将PNLHome的ID存储在我的.Settings中吗?我可以轻松地将我的.Settings.StartPanel传递到我的showPanel()函数中。

只需使用Controls集合查找控件即可

Private Function GetPanel(PanelName As String) As Panel
    Dim SomePanel As Panel = CType(Controls(PanelName), Panel)
    Return SomePanel
End Function