Vb.net 选择大小写以处理活动选项卡页

Vb.net 选择大小写以处理活动选项卡页,vb.net,Vb.net,带有窗体和tab控件的程序。我需要处理用户根据活动TabControlPage关闭表单时发生的情况 正在像这样与If-Then合作 If PanelChooserTabControl.SelectedTab Is SelectionTabPage Then 'What I want End If If PanelChooserTabControl.SelectedTab Is EditionTabPage Then 'The user can´t leave e.Can

带有窗体和tab控件的程序。我需要处理用户根据活动TabControlPage关闭表单时发生的情况

正在像这样与If-Then合作

If PanelChooserTabControl.SelectedTab Is SelectionTabPage Then
    'What I want
End If

If PanelChooserTabControl.SelectedTab Is EditionTabPage Then
    'The user can´t leave
    e.Cancel = True
End If
但我会有更多的标签页,我想让代码更容易与选择的情况

Dim TabPageActive As String = PanelChooserTabControl.SelectedTab.ToString
Select Case TabPageActive
    Case "TabPage:{SelectionTabPage}"
        'What I want
    Case "EditionTabPage"
        'What I want
End Select
但是TabPageActive变量加载了如下内容 TabPage:{SelectionTabPage}

而不仅仅是“SelectionTabPage”。甚至使用TabPage:{SelectionTabPage}作为Case变量(如示例代码)也不起作用


是否需要进行另一个字符串转换或修剪?您可以尝试以下操作:

Select Case True
  Case PanelChooserTabControl.SelectedTab Is SelectionTabPage
  Case PanelChooserTabControl.SelectedTab Is EditionTabPage
  ...
End Select

或者在选项卡页上“索引更改”“另存为枚举”页面,并在案例中使用此枚举。

您可以尝试以下操作:

Select Case True
  Case PanelChooserTabControl.SelectedTab Is SelectionTabPage
  Case PanelChooserTabControl.SelectedTab Is EditionTabPage
  ...
End Select

或者在选项卡页上更改索引将页面另存为枚举,并在案例中使用此枚举。

为什么不改为打开
SelectedIndex
?@jmcilhinney,因为数字的描述性不如文本。感谢tipSo添加评论。无论如何,您都在使用字符串,所以注释也一样好。@jmchilinney Logic!我用SelectedIndex制作了另一个版本,效果也不错。我学到的另一件事!谢谢为什么不打开
SelectedIndex
?@jmcilhinney,因为数字的描述性不如文本。感谢tipSo添加评论。无论如何,您都在使用字符串,所以注释也一样好。@jmchilinney Logic!我用SelectedIndex制作了另一个版本,效果也不错。我学到的另一件事!谢谢你可能应该提供这些案例的例子,因为它可能并不明显。我无意中在完成之前发布了答案。;-)@你的解决方案是我需要的。。。而且非常简单。我第一次读到关于使用Select Case True的内容。谢谢。您可能应该提供案例的例子,因为它可能不明显。我在完成之前无意中发布了答案。;-)@你的解决方案是我需要的。。。而且非常简单。我第一次读到关于使用Select Case True的内容。谢谢