Вам необходимо использовать событие EditingControlShowing в Datagridview, чтобы редактировать содержимое любой ячейки в столбце.Используя это событие, вы можете запустить событие нажатия клавиши в определенной ячейке.В событии нажатия клавиши вы можете применить правило, которое автоматически преобразует строчные буквы в прописные.
Вот шаги для достижения этого:
В событии EditingControlShowing посмотрите, находится ли пользователь в столбце вкоторый вы хотите применить это правило.Скажем, ваш столбец является вторым столбцом в сетке
private void TestDataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if(TestDataGridView.CurrentCell.ColumnIndex.Equals(1))
{
e.Control.KeyPress += Control_KeyPress; // Depending on your requirement you can register any key event for this.
}
}
private static void Control_KeyPress(object sender, KeyPressEventArgs e)
{
// Write your logic to convert the letter to uppercase
}
Если вы хотите установить свойство CharacterCasing
элемента управления textbox в столбце, то вы можете сделать это там, где KeyPress
регистрация событий выполняется вприведенный выше код, который находится в блоке проверки индекса столбца if.В этом случае вы можете избежать события KeyPress.
Это можно сделать следующим образом:
if(e.Control is TextBox)
{
((TextBox) (e.Control)).CharacterCasing = CharacterCasing.Upper;
}