在VB.NET中以编程方式隐藏/删除选项卡页

问题描述 投票:3回答:2

我的表单上有10个标签页。根据文本框中的输入,我想以编程方式删除选项卡页的数量,即,如果文本框输入为3,则只有前3个选项卡应该可见,并且选项卡第4至10必须删除或不可见。我尝试了以下尝试,但没有成功,

For i = 0 To 9
Form1.TabControl1.TabPages.Remove(Form4.TabControl1.TabPages((val(textbox1.text)) + i))
Next

(以上语句不产生异常或错误)

这些陈述有什么问题?

vb.net tabcontrol tabpage
2个回答
4
投票

检查此。

    For i As Integer = TextBox1.Text + 1 To 9

        Form1.TabControl1.TabPages.Remove(Form4.TabControl1.TabPages(TextBox1.Text + 1))

    Next

    For index As Integer = 9 To TextBox1.Text + 1 Step -1

        Me.TabControl1.TabPages.Remove(Me.TabControl1.TabPages(index))
    Next

2
投票

切勿使用未经过滤的输入。将Textbix1.Text输入放入integer.tryparse构造中。另外,请严格激活Option以提高代码质量。

针对您的问题:

Dim MaxVisible as Integer
Dim Sucess as Boolean
Sucess=Integer.Tryparse(textbox1.text, MaxVisible)
If Sucess=True

For index As Integer = 9 To MaxVisible  + 1 Step -1
 Me.TabControl1.TabPages(Index).visible=false
End If

这应该使不需要的tabcontrol不可见。我不知道Tabpages(index)是否有效,也许您必须用getitems代替-我手头没有Winforms项目来测试它。有关TabControl的更多信息:http://msdn.microsoft.com/de-de/library/system.windows.forms.tabcontrol.aspx

© www.soinside.com 2019 - 2024. All rights reserved.