Замена выделенного текста в TextBox C# Windows Forms
|
|
05:03:2013 Рі. |
Иногда случается необходимость с точки зрения логики работы программы при нажатии на кнопку (а возможно при наступлении другого события) заменять текст, выделенный в контроле TextBox WindowsForms.
Ниже приведен листинг кода обработки двойного клика на элемент списка. Для общего понимания - фрагмент был использован в программе-построителе запросов. В списке, по которому производится клик, находятся названия полей таблицы базы данных, которые отображены в удобном для пользователя виде. При двойном щелчке на элемент списка в текстовое поле запроса должно добавляться название таблицы с полем. Если никакой фрагмент в текстовом поле не выделен - добавление производится в конец списка. Если же выделение TextBox есть - то доьбавляемое названия поля замещает выделенный текст.
private void LB_Fields_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (LB_Fields.SelectedIndex == -1)
return;
DBNames tmp = LB_Fields.SelectedItem as DBNames;
if (tmp == null)
return;
if (string.IsNullOrEmpty(TB_Query.SelectedText))
TB_Query.Text = string.Format("{0} {1}", TB_Query.Text, tmp.RealName);
else
{
TB_Query.Text = TB_Query.Text.Replace(TB_Query.Text.Substring(TB_Query.SelectionStart, TB_Query.SelectionLength), tmp.RealName);
}
}
|
|