Visual_basic : 如何在点击按钮后获取同一标签中的单个字母和2个和3个连续字母的字母串?

Visual_basic : How to get single letters and letterstrings of 2 and 3 consecutive letters in the same label after clicking button?

尝试用 Visual basic (2015) 为我的孩子制作一个 Windows 应用程序,以帮助他们进行阅读。
制作了 3 个标签(Box1Box2Box3),每个标签可以包含 1 个字母,但也可以包含 2 或 3 个字母字符串(如“ea”、“ou”、“tr”、“str” “...”。
以及带有点击功能的标签,因此预定义的字母会随着每次点击在每个框中随机变化。

我设法在方框中获得单独的预定义单个字母,但找不到在这些方框中获得 2 个连续字母的方法。
任何人都可以帮助我。

结果示例:

consonants  vowels      consonants
m           a           p           => map
m           a           rs          => mars
m           ea          n           => mean
m           ee          t           => meet
spr         i           ng          => spring

我的 VB-code 到目前为止是:

Public Class VLLK1_2

    Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim rand As New Random
        Dim letter As String = "gkmnprstv "
        Dim consonant As String = "gkmnprts "
        Dim vowel As String = "aei"
        letter = letter.Substring(rand.Next(letter.Length), 1)
        Box1.Text = letter
        vowel = vowel.Substring(rand.Next(vowel.Length), 1)
        Box2.Text = vowel
        consonant = consonant.Substring(rand.Next(consonant.Length), 1)
        Box3.Text = consonant
    End Sub

End Class

我不是单词专家,但创建包含您想要学习的单词的列表(字符串)不会像刚才提到的评论那样容易吗?然后 select 随机将每个单词分成 3 部分并将这些部分添加到您的文本框中?

Private rand As New Random
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
        Dim ListW As New List(Of String)
        ListW.Add("apple")
        ListW.Add("pinaple")
        ListW.Add("pen")
        ListW.Add("orange")
        ListW.Add("water")

        'select random word from list

        Dim randW As String = ListW(rand.Next(0, ListW.Count - 1))
        'Dim randW = "pinaple"

        'find the integer divider value
        Dim div As Integer = randW.Length / 3


        'divide the word into 3 parts
        Dim leftP As String = Strings.Left(randW, div)
        Dim midP As String = Strings.Left(Strings.Mid(randW, div + 1), div)

        Dim reminderLenght = randW.Length - (leftP.Length + midP.Length)

        Dim rightP As String = Strings.Right(randW, reminderLenght)

        'now add the parts to text boxes

        tb1.Text = leftP
        tb2.Text = midP
        tb3.Text = rightP
    End Sub
End Class

预览: