I'm afraid there is no standard property for formatting text how you want.
If you really don't want to use the various DGV events to do your text formatting, you can always create your own DGV components that do what you want and use those in place of the standard DGV components. This article on MSDN should get you started.
EDIT
Here's a blog entry from someone calling himself HanSolo that does what you need.
Here's the code:
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;
}
}
Include this code in your project. Once you do so you'll be able to add a new DataGridViewColumn to your DataGridView of type DataGridViewUpperCaseTextBoxColumn. This new DataGridViewColumn uppercases all text entered in the column's TextBox component.
You should also reconsider your decision to not use events. It's pretty easy to do. For example if you have a DGV named dataGridView1 you can use the CellFormatting event like this:
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;
}
}