Боюсь, что нет стандартного свойства для форматирования текста, как вы хотите.
Если вы действительно не хотите использовать различные события DGV для форматирования текста, вы всегда можете создать свои собственные компоненты DGV, которые делают то, что вы хотите, и использовать их вместо стандартных компонентов DGV. Эта статья о MSDN должна помочь вам начать работу.
EDIT
Вот запись в блоге от того, кто называет себя HanSolo и делает то, что вам нужно.
Вот код:
public class DataGridViewUpperCaseTextBoxColumn : DataGridViewTextBoxColumn {
public DataGridViewUpperCaseTextBoxColumn() : base() {
CellTemplate = new DataGridViewUpperCaseTextBoxCell();
}
}
public class DataGridViewUpperCaseTextBoxCell : DataGridViewTextBoxCell {
public DataGridViewUpperCaseTextBoxCell() : base() { }
public override Type EditType {
get {
return typeof(DataGridViewUpperCaseTextBoxEditingControl);
}
}
}
public class DataGridViewUpperCaseTextBoxEditingControl : DataGridViewTextBoxEditingControl {
public DataGridViewUpperCaseTextBoxEditingControl() : base() {
this.CharacterCasing = CharacterCasing.Upper;
}
}
Включите этот код в ваш проект. Как только вы это сделаете, вы сможете добавить новый DataGridViewColumn к вашему DataGridView типа DataGridViewUpperCaseTextBoxColumn. Этот новый DataGridViewColumn заглавными буквами вводит весь текст, введенный в компонент TextBox столбца.
Вам также следует пересмотреть свое решение не использовать события. Это довольно легко сделать. Например, если у вас есть DGV с именем dataGridView1, вы можете использовать событие CellFormatting, например:
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) {
// Check the value of the e.ColumnIndex property if you want to apply this formatting only so some rcolumns.
if (e.Value != null) {
e.Value = e.Value.ToString().ToUpper();
e.FormattingApplied = true;
}
}