【问题标题】:Visual Tabpages视觉标签页
【发布时间】:2017-06-21 16:35:41
【问题描述】:

大家好,我每次点击按钮时都会尝试动态地创建标签页,所以问题是当我限制创建已经存在的标签时,我尝试了 Controls.Find 方法并得到“'Control( )' 无法转换为 'Boolean'"...这是我在 Visual Studio 2015 中的代码。我将不胜感激任何帮助或其他方法。

  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim myTabPage As New TabPage()
    TabControl1.Visible = True

    If myTabPage.Controls.Find("Pedido", True) Then

        TabControl1.SelectedTab = myTabPage

    Else

        Form1.TopLevel = False
        myTabPage.Text = "Pedido" 
        TabControl1.TabPages.Add(myTabPage)
        myTabPage.Controls.Add(Form1)
        TabControl1.SelectedTab = myTabPage
        Form1.Show()
    End If

End Sub

【问题讨论】:

    标签: vb.net visual-studio tabpage


    【解决方案1】:

    Controls.Find 返回控件数组,而不是布尔值。因此,请执行以下操作:

    If myTabPage.Controls.Find("Pedido", True).Length > 0 Then
    

    编辑:

    假设您尝试选择或创建一个名为“Pedido”的选项卡(并为了清晰起见删除了一些代码),请尝试以下操作:

       Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
          TabControl1.Visible = True
    
          Dim c = TabControl1.Controls.Find("Pedido", True)
    
          If c.Length > 0 Then
             TabControl1.SelectedTab = CType(c(0), TabPage)
          Else
             Dim myTabPage As New TabPage()
             myTabPage.Text = "Pedido"
             myTabPage.Name = "Pedido"
             TabControl1.TabPages.Add(myTabPage)
             TabControl1.SelectedTab = myTabPage
          End If
       End Sub
    

    【讨论】:

    • 为了便于阅读,我可能会建议:将Dim tabExists As Boolean = myTabPage.Controls.Find("Pedido", True) IsNot Nothing 放在上面一行,然后放在If tabExists Then
    • 我试过了,但这只是为从 find 方法中禁用“Key”的任何值提供真实的结果......你知道我正在尝试做的另一种方法吗?
    • 它不返回单个控件,而是返回an array of controls,它永远不会为空。请改用If myTabPage.Controls.Find("Pedido", True).Length > 0 Then
    • @VisualVincent 你是对的。我会更新我的回复。
    • 另外,您需要在创建控件时为其指定名称。此名称用作查找的键。
    猜你喜欢
    • 2017-09-09
    • 2017-11-09
    • 2020-09-22
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多