Primeira letra em Maiúsculo no textbox
30/06/2014
0
public string ConvMaiuscula(string Input) { System.Globalization.CultureInfo cultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture; System.Globalization.TextInfo textInfo = cultureInfo.TextInfo; return textInfo.ToTitleCase(Input.ToLower()); }
private void nomeTextBox_TextChanged(object sender, EventArgs e) { nomeTextBox.Text = ConvMaiuscula(nomeTextBox.Text).ToString(); nomeTextBox.SelectionStart = nomeTextBox.Text.Length; }
*Windows Form C#.
Jair Souza
Posts
30/06/2014
Rafael Souza
{
System.Globalization.CultureInfo cultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture;
System.Globalization.TextInfo textInfo = cultureInfo.TextInfo;
return textInfo.ToTitleCase(Input.ToLower());
}
else
{
return Input;
}
01/07/2014
Jair Souza
02/07/2014
Jair Souza
Ajustei o código e ficou assim :
public string ConvMaiuscula(string Input) { if (Input == "de" || Input == "da" || Input == "do" || Input == "das" || Input == "dos") { System.Globalization.CultureInfo cultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture; System.Globalization.TextInfo textInfo = cultureInfo.TextInfo; return textInfo.ToTitleCase(Input.ToLower()); } else { return Input; } E chamando o método no textchanged do textbox : private void nomeTextBox_TextChanged(object sender, EventArgs e) { nomeTextBox.Text = ConvMaiuscula(nomeTextBox.Text).ToString(); nomeTextBox.SelectionStart = nomeTextBox.Text.Length; }
Quando digito “joão da silva” o resultado é “joão da silva”, não muda nada...
Se digitar no início do textbox “da” fica “Da”.
Se digitar “da de do ...” fica “Da de do”, a primeira letra da preposição fica em Maiúscula, mas nada mais...
Mas repetindo, o que preciso é que independente de como for digitado maiúscula, minúsculas ou misturado
Que fique a primeira letra de cada palavra em Maiúscula e as demais em minúsculas(São nomes de pessoas), mas somente as preposições “de, da, do, das, dos” fiquem sempre em minúscula...assim : “João da Silva de Linhares dos Santos”.
Será que tem como ?
02/07/2014
Rafael Souza
String testo = "olá meu amido da devmedia, testa para ver se da certo"; StringBuilder resposta = new StringBuilder(); string[] beg = testo.Split(' '); foreach (string s in beg) { // Aqui você coloca as preposições if (!(s.Equals("de") || s.Equals("da") || s.Equals("do") || s.Equals("dos") || s.Equals("das"))) { System.Globalization.CultureInfo cultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture; System.Globalization.TextInfo textInfo = cultureInfo.TextInfo; resposta.Append(textInfo.ToTitleCase(s.ToLower())); } else { resposta.Append(s); } resposta.Append(" "); } resultado = Olá Meu Amido da Devmedia, Testa Para Ver Se da Certo
Espero ter ajudado.
Att,
Rafael Silva
03/07/2014
Jair Souza
[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20140703-204330.png[/img]
07/07/2014
Rafael Souza
return resposta();
Att,
Rafael Silva
07/07/2014
Jair Souza
[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20140707-113033.png[/img]
07/07/2014
Rafael Souza
07/07/2014
Rafael Souza
return resposta.ToString();
Att,
Rafael Silva
07/07/2014
Jair Souza
Algumas não entendi..., na realidade só entendi o if...
07/07/2014
Rafael Souza
class Program { static void Main(string[] args) { Console.WriteLine(LetraMaiuscula("teste de texto")); Console.Read(); } public static string LetraMaiuscula(string texto) { //Sequência mutável de caracteres StringBuilder resposta = new StringBuilder(); // Divide seu texto em partes e tranforma em um array string[] beg = texto.Split(' '); // Se for preposição retorna sem alteração, se não, retorna a palavra com a primeira letra maiúscula foreach (string s in beg) { // Aqui você coloca as preposições if (!(s.Equals("de") || s.Equals("da") || s.Equals("do") || s.Equals("dos") || s.Equals("das"))) { // Seta a primeira letra maiúscula System.Globalization.CultureInfo cultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture; System.Globalization.TextInfo textInfo = cultureInfo.TextInfo; resposta.Append(textInfo.ToTitleCase(s.ToLower())); } else { //retorna a preposição sem alteração resposta.Append(s); } //retorna os respectivos espaçamentos resposta.Append(" "); } //retorna o texto alterado return resposta.ToString(); } }
07/07/2014
Jair Souza
08/07/2014
Jair Souza
public string convMaiuscula(string texto) { StringBuilder resposta = new StringBuilder(); string[] beg = texto.Split(' '); foreach (string s in beg) { if (!(s.Equals("de") || s.Equals("da") || s.Equals("do") || s.Equals("dos") || s.Equals("das") || s.Equals("e"))) { System.Globalization.CultureInfo cultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture; System.Globalization.TextInfo textInfo = cultureInfo.TextInfo; resposta.Append(textInfo.ToTitleCase(s.ToLower())); } else { resposta.Append(s); } resposta.Append(" "); } return resposta.ToString(); }
E chamo no evento texchanged do textbox assim :
private void nomeTextBox_TextChanged_1(object sender, EventArgs e) { nomeTextBox.Text = convMaiuscula(nomeTextBox.Text).ToString(); nomeTextBox.SelectionStart = nomeTextBox.Text.Length; }
E deu este erro :
[img]http://arquivo.devmedia.com.br/forum/imagem/343353-20140708-075204.png[/img]
...não está fácil...
09/07/2014
Jair Souza
private void nomeTextBox_TextChanged(object sender, EventArgs e) { nomeTextBox.Text = convMaiuscula(nomeTextBox.Text); nomeTextBox.SelectionStart = nomeTextBox.Text.Length; }
private void nomeTextBox_TextChanged(object sender, EventArgs e) { nomeTextBox.Text = nomeTextBox.Text.convMaiuscula(); nomeTextBox.SelectionStart = nomeTextBox.Text.Length; }
Clique aqui para fazer login e interagir na Comunidade :)