.NET - [решено] Обработка ввод в TextBox в реальном времени C#
-
SeRgikON
.NET - [решено] Обработка ввод в TextBox в реальном времени C#
В TextBox вводим некоторый текст, нужно чтобы текст вводимый пользователем обрабатывался в реальном времени...(и если встречается определенное слово, то вызывается определённое событие)
Например: введёная строка - "ыавпвСобытие1впыпсобытие2ывпрыр" пока это всё вводилось, должно было произойти 2 события(1 и 2)..Через что можно реализовать такую возможность? У TextBox'а есть событие TextChange, но как-то не допонял как в нём это реализовать..если кто сталкивался, подскажите.
Например: введёная строка - "ыавпвСобытие1впыпсобытие2ывпрыр" пока это всё вводилось, должно было произойти 2 события(1 и 2)..Через что можно реализовать такую возможность? У TextBox'а есть событие TextChange, но как-то не допонял как в нём это реализовать..если кто сталкивался, подскажите.
-
ferget
Re: .NET - [решено] Обработка ввод в TextBox в реальном времени C#
реализуется в TextChange с помощью if или case
сначала нужно распарсить строку
сначала нужно распарсить строку
-
ferget
Re: .NET - [решено] Обработка ввод в TextBox в реальном времени C#
Цитата ferget:
реализуется в TextChange с помощью if или case
Можно привязать к KeyPress - будет даже быстрее. Потом сравнить уже введенное значение с нужным шаблоном.
реализуется в TextChange с помощью if или case
.NET - [решено] Обработка ввод в TextBox в реальном времени C#
Можно привязать к KeyPress - будет даже быстрее. Потом сравнить уже введенное значение с нужным шаблоном.
-
SeRgikON
Re: .NET - [решено] Обработка ввод в TextBox в реальном времени C#
а можно про KeyPress поподробней?) с примером, если не трудно)
-
dmitryst
Re: .NET - [решено] Обработка ввод в TextBox в реальном времени C#
в обоих случаях будет одинаково
пример с псевдопарсингом
Код:
пример с псевдопарсингом
Код:
Код: Выделить всё
void TextBox1TextChanged(object sender, EventArgs e)
{
if(ParceText(textBox1.Text)==1)
{
label1.Text="Что???";
}
else if(ParceText(textBox1.Text)==2)
label1.Text="";
}
int ParceText(string str)
{
if(str=="Привет")
return 1;
else{return 2;}
}
void TextBox2KeyPress(object sender, KeyPressEventArgs e)
{
if(ParceText(textBox2.Text)==1)
{
label2.Text="Что???";
}
else if(ParceText(textBox2.Text)==2)
label2.Text="";
}-
SeRgikON
Re: .NET - [решено] Обработка ввод в TextBox в реальном времени C#
в обоих случаях будет одинаково
пример с псевдопарсингом
Код:
пример с псевдопарсингом
Код:
Код: Выделить всё
void TextBox1TextChanged(object sender, EventArgs e)
{
if(ParceText(textBox1.Text)==1)
{
label1.Text="Что???";
}
else if(ParceText(textBox1.Text)==2)
label1.Text="";
}
int ParceText(string str)
{
if(str=="Привет")
return 1;
else{return 2;}
}
void TextBox2KeyPress(object sender, KeyPressEventArgs e)
{
if(ParceText(textBox2.Text)==1)
{
label2.Text="Что???";
}
else if(ParceText(textBox2.Text)==2)
label2.Text="";
}-
dmitryst
Re: .NET - [решено] Обработка ввод в TextBox в реальном времени C#
Пример - есть TextBox по имени textBoxAge. На событие KeyPress вешаем функцию -
Код:
Данная функция позволяет вводить только цифры (для указания возраста). Вместо фильтрации по сканкоду можно сделать сравнение if (textBoxAge.Text == "bla-bla-bla") { ... }
ЗЫ. Опередили....
Код:
Код: Выделить всё
private void textBoxAge_KeyPress(object sender, KeyPressEventArgs e)
{
// MessageBox.Show("test");
if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8) /// Только циферки принимаем )
e.Handled = true; // Удаление символа
}Данная функция позволяет вводить только цифры (для указания возраста). Вместо фильтрации по сканкоду можно сделать сравнение if (textBoxAge.Text == "bla-bla-bla") { ... }
ЗЫ. Опередили....
-
SeRgikON
Re: .NET - [решено] Обработка ввод в TextBox в реальном времени C#
Цитата ferget:
в обоих случаях будет одинаково
пример с псевдопарсингом
Код:
void TextBox1TextChanged(object sender, EventArgs e)
{
if(ParceText(textBox1.Text)==1)
{
label1.Text="Что???";
}
else if(ParceText(textBox1.Text)==2)
label1.Text="";
}
int ParceText(string str)
{
if(str=="Привет")
return 1;
else{return 2;}
}
возник вопрос, до первого ввода "Привет" всё работает, после выводится только первое условие..как сделать этот цикл "многоразовым"?)
в обоих случаях будет одинаково
пример с псевдопарсингом
Код:
void TextBox1TextChanged(object sender, EventArgs e)
{
if(ParceText(textBox1.Text)==1)
{
label1.Text="Что???";
}
else if(ParceText(textBox1.Text)==2)
label1.Text="";
}
int ParceText(string str)
{
if(str=="Привет")
return 1;
else{return 2;}
}
.NET - [решено] Обработка ввод в TextBox в реальном времени C#
возник вопрос, до первого ввода "Привет" всё работает, после выводится только первое условие..как сделать этот цикл "многоразовым"?)
-
SeRgikON
-
ferget