【问题标题】:How do I save textboxes with tabs depending which tab is open?如何根据打开的选项卡保存带有选项卡的文本框?
【发布时间】:2015-12-13 01:58:21
【问题描述】:

我正在尝试在 vb.net 中创建文档编写器

所以我决定添加一个选项卡控件,这样我就可以在按下按钮时创建一个新选项卡。我想将文本保存在打开的选项卡中。我创建了一个函数,它根据打开的选项卡返回文本,但这仅适用于两个默认选项卡。如果我创建了一个新标签,我不知道如何保存。

获取文本的函数是这样的:

Public Function getText() As String
If tabPage1.Visible = True Then
Return mainText.Text
ElseIf tabPage2.Visible = True Then
Return textBox1.Text
End If
End Function

我在网上做了一些研究,我什至查看了 SharpDevelop 的源代码,但我找不到任何东西。 提前致谢!

编辑:

Public Sub setText(Byval value As String)
  If tabPage1.Visible = True Then
     mainText.Text = value
  ElseIf tabPage2.Visible = True Then
     textBox1.Text = value
  End If
End Sub

有谁知道我将如何根据打开的标签(和以前一样)来确定打开功能。

【问题讨论】:

    标签: vb.net tabs textbox save


    【解决方案1】:

    如果我理解正确,您正试图在动态生成的每个 tabPages 中都有一个文本框。如果是这种情况,您可以使用此代码概括您的 GetText 函数

    Function GetText() As String
        If tabControl1.SelectedTab IsNot Nothing Then
            Return tabControl1.SelectedTab.Controls.OfType(Of TextBox)().First().Text
        End If
    
    End Function
    

    这要求您在每一页中至少有一个文本框(并且您的 TabControl 被命名为 tabControl1)。 SelectedTab 属性(如果没有的话)是您的 tabControl 显示的当前 tabPage

    【讨论】:

    • 我尝试了您的解决方案,但我收到此错误“'OfType' 不是 'System.Windows.Forms.Control.ControlCollection' 的成员。”你知道如何解决这个问题吗? @史蒂夫
    • Controls.OfType 需要将 Linq 命名空间添加到您的程序中。使用 Imports Linq
    • 我将 Imports Linq 添加到顶部,但我仍然收到相同的错误@Steve
    • 抱歉,导入 System.Linq
    • 在哪里?如果您还有其他问题,那么最好写一个新问题。
    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多