2010-12-03 2 views

ответ

1

Я не думаю вы заставляете его быть все в верхнем регистре, но делает .ToUpper() значение, которое они набирают в возможном решении?

0

Вы должны использовать событие TextChanged.

private void textBox_TextChanged(object sender, TextChangedEventArgs e) 
{ 
    // Save cursor's position 
    int cursorLocation = textBox1.SelectionStart; 

    // Uppercase text 
    textBox.Text = textBox1.Text.ToUpper(); 

    // Restore cursor's position 
    textBox.SelectionStart = cursorLocation; 
} 

source

+1

Спасибо Лукаса, который работает! Для меня было такое же поведение, как в родных приложениях, где вы перемещаете фокус на текстовое поле, а клавиатура появляется с помощью CAPS ON, и после ввода первой буквы она возвращается в CAPS OFF. Я должен был объяснить лучше. Я обнаружил, что игра с InputScope и InputScopeNames делает трюк. Имя, в частности, я искал, это InputScopeNameValue.PersonalFullName. – 2010-12-03 17:22:47

1

Этот способ еще лучше:

private void codeTextChanged(object sender, TextChangedEventArgs e) 
{ 
    tPCodeText.Text = (sender as TextBox).Text.ToString().ToUpper(); 
    tPCodeText.SelectionStart++; 
}