Замена выделенного текста в 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);
    }
 

Добавить комментарий



Обновить

« Решение - Can not access a nonstatic member of outer type via nested type   Как перебрать в цикле все переменные класса и присвоить им значения C# »
← Раньше

Фотоальбом

fotic.jpg

Облако Тегов