У меня есть текстовое поле в моем приложении Windows. Он позволяет использовать только алфавиты и цифры. Я хочу, когда когда-либо набираю какой-либо алфавит, он должен быть преобразован в верхний регистр. Как я могу это сделать и в каком случае? Я использовал str.ToUpper(), но курсор смещается в начало строки. Пожалуйста, дайте мне решение.
Как преобразовать строку в верхний регистр в текстовое поле Windows?
Ответ 1
Вам просто нужно изменить свойство CharacterChasing на Upper
.
textBox1.CharacterCasing = CharacterCasing.Upper
Ответ 2
Вам нужно назначить результаты ToUpper
обратно в текстовое поле:
txtBox.Text = txtBox.Text.ToUpper();
В качестве альтернативы установите для параметра CharacterCasing
текстовое поле Upper
:
txtBox.CharacterCasing = CharacterCasing.Upper;
Ответ 3
Зачем изобретать колесо, просто установите свойство CharacterCasing для textBox на "Верхний". Вам не нужно писать код.
В случае маскированного текстового поля вы можете использовать ' > ' (в свойстве маски), чтобы сделать следующие символы в верхнем регистре. например Для ввода буквенно-цифровой строки (A-Z, 0-9) длиной восемь используйте маску ' > AAAAAAAA'. Чтобы ограничить только буквы (A-Z), используйте ' > LLLLLLLL'.
Ответ 4
Попробуйте использовать событие KeyPress, и обработчик должен быть похож на следующее:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.KeyChar= (e.KeyChar.ToString()).ToUpper().ToCharArray()[0];
}
Ответ 5
В свойствах TextBox просто установите CharacterCasing в Upper. Он преобразует весь введенный символ в верхний регистр.
Ответ 6
Возможно, вам нужно использовать событие: TextBox1_EditValueChanging.
Если каждый раз, когда курсор перемещается в первой позиции, вы можете рассчитать количество символов в вашем txt и сдвинуть курсор после последнего символа.
Ответ 7
private void mytextbox_KeyPress(object sender, KeyPressEventArgs e)
{
e.KeyChar = Char.ToUpper(e.KeyChar);
}
Ответ 8
- TxtInput//Это пользовательские входы текстового поля
- LblLengthstrong//Ярлык для отображения длины
- LblUpper//Ярлык, отображающий его в верхнем регистре
- LblLower//Ярлык, который показывает его в нижнем регистре
- LblRight//Ярлык, показывающий последние 3 символа
- LblSubscript//Ярлык с символами от 1 до 3
//показать длину всех введенных символов
private void BtnLength_Click(object sender, EventArgs e)
{
LblLength.Text = TxtInput.Text.Length.ToString();
}
//сделать символы верхними
private void btnUpper_Click(object sender, EventArgs e)
{
LblUpper.Text = TxtInput.Text.ToUpper();
}
//сделать символы строчными буквами
private void BtnLower_Click(object sender, EventArgs e)
{
LblLower.Text = TxtInput.Text.ToLower();
}
//показать последние 3 символа
private void BtnRight_Click(object sender, EventArgs e)
{
LblRight.Text = TxtInput.Text.Substring(TxtInput.Text.Length - 3);
}
//показывать символы в позиции от 1 до 3
private void BtnSubscript_Click(object sender, EventArgs e)
{
LblSubscript.Text = TxtInput.Text.Substring(1, 3);
}
//ASCII
private void BtnGo_Click(object sender, EventArgs e)
{
string name;
int letter;
name = TxtInput.Text;
for (int index = 0; index < name.Length; index++)
{
letter = name[index];
MessageBox.Show(letter.ToString());
}
}
//Пароль
int InNumTry = 0;
private void BtnGo_Click_1(object sender, EventArgs e)
{
string password;
password = TxtIn.Text;
switch (password)
{
case " ": MessageBox.Show("Passowrd is empty.");
break;
case "MIKE": MessageBox.Show("Password is OK!");
FrmBOO newForm = new FrmBOO();
newForm.Show();
break;
default:
InNumTry++;
MessageBox.Show("Invalid Passwrod, try again!");
TxtIn.Text = "";
TxtIn.Focus();
break;
}
if (InNumTry >= 3)
{
MessageBox.Show("You have tried too many times, have a good day.");
TxtIn.Enabled = false;
}
}
//Добавление таймера (в таймере добавить код под этим (Добавить добавить timer1.Start() в стартовой форме)
private void timer1_Tick(object sender, EventArgs e)
{
DateTime datetime = DateTime.Now;
this.LblTime.Text = datetime.ToString();
}
Ответ 9
Щелкните правой кнопкой мыши текстовое поле в конструкторе, в разделе "Свойства" измените значение "Символьный" на "Верх".