2013-03-05 162 views
0

我有一個關於TextBox的查詢。 當我輸入文本框時,這些字會自動更改。例如:「我的名字是kumar」改爲「My Name Is Kumar」,並且應該在textBox1_TextChanged事件上完成。在textBox1_TextChanged事件的文本上空格之後創建第一個字母表

目前我正在休假事件這樣

private void textBox1_Leave(object sender, EventArgs e) 
{ 
    textBox1.Text = textBox1.Text.Substring(0, 1).ToUpper() + textBox1.Text.Substring(1); 
} 

請幫我做到了。很多感謝提前。 :)

回答

7

使用TextInfo.ToTitleCase Method

private void textBox1_Leave(object sender, EventArgs e) 
{ 

    TextInfo myTI = new CultureInfo("en-US",false).TextInfo; 
    textBox1.Text = myTI.ToTitleCase(textBox1.Text) 

} 
+0

無無無我天璣離開後想要這個結果。相反,我希望它在文本更改事件。 :) – 2013-03-05 13:25:32

+0

您需要將代碼添加到textChange事件 – 2013-03-05 13:26:33

+0

@ user2071493,雙擊您的文本框。然後把它放到生成的代碼塊。 – 2013-03-05 13:26:51

2

作爲後續到以前的答案,如果添加以下行到身體的其餘部分,你會確保正確的行爲保持:

 textBox1.SelectionStart = textBox1.TextLength; 
     textBox1.SelectionLength = 0; 

,所以該完整的解決方案是:

private void textBox1_Leave(object sender, EventArgs e) 
{ 
     //Original from JW's answer 
     TextInfo myTI = new CultureInfo("en-US",false).TextInfo; 
     textBox1.Text = myTI.ToTitleCase(textBox1.Text); 
     //New lines to ensure the cursor is always at the end of the typed string. 
     textBox1.SelectionStart = textBox1.TextLength; 
     textBox1.SelectionLength = 0; 
} 
+0

koay我明白了。 thanx的回覆 – 2013-03-05 13:45:35

2

這應該解決喲烏爾問題:

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 
     TextInfo myTI = new CultureInfo("en-US", false).TextInfo; 
     textBox1.Text = myTI.ToTitleCase(textBox1.Text); 
     textBox1.SelectionStart = textBox1.Text.Length; 
    } 
+0

好吧,我明白了。謝謝你的回覆。 :) – 2013-03-05 13:45:53

+0

好吧,我明白了。謝謝你的回覆。 :) – 2013-03-05 13:48:30

1

我會用一個Regex這裏,因爲它容易實現,我不認爲你TextBox將舉行大型字符串。既然你希望字符串被自動修正爲你寫的,你需要的TextChanged事件,而不是一個Leave

private void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    Regex regex = new Regex(" [a-z]"); 
    foreach (Match match in regex.Matches(textBox1.Text)) 
     textBox1.Text = regex.Replace(textBox1.Text, match.Value.ToUpper()); 
} 
+0

好吧,我明白了。謝謝你的回覆。 :) – 2013-03-05 13:47:59

相關問題