2014-10-18 76 views
0

如何將tOGGLE case添加到文本框中,例如,我單擊一個按鈕並將文本框中的文本更改爲tOGGLE case(hello - > hELLO),基本上它需要第一個字母和小寫字母以及其餘大寫字母它。tOGGLE case For Textbox?

+0

沒有任何理由不downvote的方法。如果你這樣做,請提供一個。 – 2014-10-18 09:19:10

回答

2

下面是使用.NET文化功能首先轉換爲標題案例,然後反轉的情況下你的「切換案」

Private Sub btn_ConvertTotOGGLEcASE_Click(sender As Object, e As EventArgs) Handles btn_ConvertTotOGGLEcASE.Click 

    'Get the current value of the textbox 
    Dim MyText As String = MyTextBox.Text 

    'Convert it to Title Case using built in .NET tools 
    Dim MyTextInfo As System.Globalization.TextInfo = New System.Globalization.CultureInfo("en-US", False).TextInfo 
    MyText = MyTextInfo.ToTitleCase(MyText) 

    'Then invert the case of all the characters 
    Dim InvertedText As Char() = MyText.Select(Function(c) If(Char.IsLetter(c), If(Char.IsUpper(c), Char.ToLower(c), Char.ToUpper(c)), c)).ToArray() 

    'Finally convert it back to a string 
    MyTextBox.Text = New String(InvertedText) 

End Sub 
+0

天才,謝謝! – Greg 2014-10-18 03:46:00

+0

歡迎您 - 祝您好運。 – Don 2014-10-18 03:52:31

0

你可以在數組中分割你的字符串,在數組中迭代lcase(mid(string,1,1)& ucase(mid(string,2,len(string)-1)),並重新組合你的數組在一個字符串

Public function ToogleText(myStr as string) as string 

    dim str() as string 
    str = split(myStr," ") 
    dim toogleStr as string 
    toogleStr = "" 

    for each substr as string in str 
     toogleStr = toogleStr & lcase(mid(substr,1,1)) & ucase(mid(substr, 2,len(substr)-1)) & " " 
    next substr 
    if len(toogleStr) > 0 then 
     ToogleText = mid(toogleStr,1,len(toogleStr)-1) 
    else 
     ToogleText ="" 

    end if 

end function 
+0

給我一個錯誤,錯誤代碼 – Greg 2014-10-18 02:23:29

+0

什麼是th錯誤? – 2014-10-18 02:25:41

+0

自己試試吧,多個錯誤 – Greg 2014-10-18 02:26:05