Невозможно ввести точку в текстовом поле - PullRequest
0 голосов
/ 30 марта 2010

В моем виде сетки у меня есть столбец типа ссылки. поскольку мы не можем редактировать ячейку такого типа, я отображаю текстовое поле, если пользователь выбирает ячейку для редактирования. но мое текстовое поле не может прочитать символ точки. Я проверил события «нажатие клавиши» и «изменение текста», но события не запускаются для точки в качестве входных данных.
EDIT: Я могу ввести любой символ или символ, кроме точки ..; (

Я отображаю текстовое поле при событии щелчка по ячейке в виде сетки

if (DataGrid.Columns[e.ColumnIndex].GetType().Name == "DataGridViewLinkColumn")
{
txt_Data.Location    =   DataGrid.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false).Location;

txt_Data.Size        =   DataGrid.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false).Size;

txt_Data.Visible     =   true;
txt_Data.Focus();
}

И присвоение значения ячейке как

private void txt_Data_TextChanged(object sender, EventArgs e)
{
  DataGrid.CurrentCell.Value = txt_Data.Text;
}

1 Ответ

0 голосов
/ 19 сентября 2011

У меня была эта проблема несколько дней назад, и это сводило меня с ума. Наконец-то понял, так что я вернулся сюда, чтобы просветить :) Проблема в том, что EditingControlWantsInputKey метод для вашего контроля редактирования .. Убедитесь, что он возвращает true для всех символов (или, по крайней мере, символов, которые вы хотите поддерживать) .. Готово! : D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...